home *** CD-ROM | disk | FTP | other *** search
Unknown | 1999-11-30 | 21.1 KB |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was not able to be converted.
This format is not currently supported by dexvert.
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| file
| data
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 00 00 00 00 00 00 00 | 77 d0 02 2f 2f 3d 3d 3d |........|w..//===|
|00000010| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000020| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000030| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000040| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000050| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 0d 0a 2f 2f 20 43 |========|==..// C|
|00000060| 54 46 47 61 6d 65 2e 0d | 0a 2f 2f 3d 3d 3d 3d 3d |TFGame..|.//=====|
|00000070| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000080| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000090| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000b0| 3d 3d 3d 3d 3d 3d 3d 3d | 0d 0a 63 6c 61 73 73 20 |========|..class |
|000000c0| 43 54 46 47 61 6d 65 20 | 65 78 74 65 6e 64 73 20 |CTFGame |extends |
|000000d0| 54 65 61 6d 47 61 6d 65 | 50 6c 75 73 0d 0a 09 63 |TeamGame|Plus...c|
|000000e0| 6f 6e 66 69 67 3b 0d 0a | 0d 0a 23 65 78 65 63 20 |onfig;..|..#exec |
|000000f0| 41 55 44 49 4f 20 49 4d | 50 4f 52 54 20 46 49 4c |AUDIO IM|PORT FIL|
|00000100| 45 3d 22 53 6f 75 6e 64 | 73 5c 43 54 46 5c 52 6f |E="Sound|s\CTF\Ro|
|00000110| 63 6b 4f 6e 44 75 64 65 | 2e 77 61 76 22 20 4e 41 |ckOnDude|.wav" NA|
|00000120| 4d 45 3d 22 43 61 70 74 | 75 72 65 53 6f 75 6e 64 |ME="Capt|ureSound|
|00000130| 22 20 47 52 4f 55 50 3d | 22 43 54 46 22 0d 0a 23 |" GROUP=|"CTF"..#|
|00000140| 65 78 65 63 20 41 55 44 | 49 4f 20 49 4d 50 4f 52 |exec AUD|IO IMPOR|
|00000150| 54 20 46 49 4c 45 3d 22 | 53 6f 75 6e 64 73 5c 43 |T FILE="|Sounds\C|
|00000160| 54 46 5c 63 74 66 39 2e | 77 61 76 22 20 4e 41 4d |TF\ctf9.|wav" NAM|
|00000170| 45 3d 22 43 61 70 74 75 | 72 65 53 6f 75 6e 64 32 |E="Captu|reSound2|
|00000180| 22 20 47 52 4f 55 50 3d | 22 43 54 46 22 0d 0a 23 |" GROUP=|"CTF"..#|
|00000190| 65 78 65 63 20 41 55 44 | 49 4f 20 49 4d 50 4f 52 |exec AUD|IO IMPOR|
|000001a0| 54 20 46 49 4c 45 3d 22 | 53 6f 75 6e 64 73 5c 43 |T FILE="|Sounds\C|
|000001b0| 54 46 5c 63 74 66 31 30 | 2e 77 61 76 22 20 4e 41 |TF\ctf10|.wav" NA|
|000001c0| 4d 45 3d 22 43 61 70 74 | 75 72 65 53 6f 75 6e 64 |ME="Capt|ureSound|
|000001d0| 33 22 20 47 52 4f 55 50 | 3d 22 43 54 46 22 0d 0a |3" GROUP|="CTF"..|
|000001e0| 23 65 78 65 63 20 41 55 | 44 49 4f 20 49 4d 50 4f |#exec AU|DIO IMPO|
|000001f0| 52 54 20 46 49 4c 45 3d | 22 53 6f 75 6e 64 73 5c |RT FILE=|"Sounds\|
|00000200| 43 54 46 5c 72 65 74 75 | 72 6e 66 31 2e 77 61 76 |CTF\retu|rnf1.wav|
|00000210| 22 20 4e 41 4d 45 3d 22 | 52 65 74 75 72 6e 53 6f |" NAME="|ReturnSo|
|00000220| 75 6e 64 22 20 47 52 4f | 55 50 3d 22 43 54 46 22 |und" GRO|UP="CTF"|
|00000230| 0d 0a 0d 0a 76 61 72 09 | 20 20 69 6e 74 20 20 20 |....var.| int |
|00000240| 47 72 6f 77 54 69 6d 65 | 72 3b 0d 0a 76 61 72 28 |GrowTime|r;..var(|
|00000250| 29 20 73 6f 75 6e 64 20 | 43 61 70 74 75 72 65 53 |) sound |CaptureS|
|00000260| 6f 75 6e 64 5b 34 5d 3b | 0d 0a 76 61 72 28 29 20 |ound[4];|..var() |
|00000270| 73 6f 75 6e 64 20 52 65 | 74 75 72 6e 53 6f 75 6e |sound Re|turnSoun|
|00000280| 64 3b 0d 0a 76 61 72 20 | 66 6c 6f 61 74 20 4c 61 |d;..var |float La|
|00000290| 73 74 47 6f 74 46 6c 61 | 67 3b 0d 0a 76 61 72 20 |stGotFla|g;..var |
|000002a0| 66 6c 6f 61 74 20 4c 61 | 73 74 53 65 65 46 6c 61 |float La|stSeeFla|
|000002b0| 67 43 61 72 72 69 65 72 | 3b 0d 0a 0d 0a 66 75 6e |gCarrier|;....fun|
|000002c0| 63 74 69 6f 6e 20 4c 6f | 67 6f 75 74 28 70 61 77 |ction Lo|gout(paw|
|000002d0| 6e 20 45 78 69 74 69 6e | 67 29 0d 0a 7b 0d 0a 09 |n Exitin|g)..{...|
|000002e0| 69 66 20 28 20 45 78 69 | 74 69 6e 67 2e 50 6c 61 |if ( Exi|ting.Pla|
|000002f0| 79 65 72 52 65 70 6c 69 | 63 61 74 69 6f 6e 49 6e |yerRepli|cationIn|
|00000300| 66 6f 2e 48 61 73 46 6c | 61 67 20 21 3d 20 4e 6f |fo.HasFl|ag != No|
|00000310| 6e 65 20 29 0d 0a 09 09 | 43 54 46 46 6c 61 67 28 |ne )....|CTFFlag(|
|00000320| 45 78 69 74 69 6e 67 2e | 50 6c 61 79 65 72 52 65 |Exiting.|PlayerRe|
|00000330| 70 6c 69 63 61 74 69 6f | 6e 49 6e 66 6f 2e 48 61 |plicatio|nInfo.Ha|
|00000340| 73 46 6c 61 67 29 2e 53 | 65 6e 64 48 6f 6d 65 28 |sFlag).S|endHome(|
|00000350| 29 3b 09 0d 0a 09 53 75 | 70 65 72 2e 4c 6f 67 6f |);....Su|per.Logo|
|00000360| 75 74 28 45 78 69 74 69 | 6e 67 29 3b 0d 0a 7d 0d |ut(Exiti|ng);..}.|
|00000370| 0a 0d 0a 65 76 65 6e 74 | 20 49 6e 69 74 47 61 6d |...event| InitGam|
|00000380| 65 28 20 73 74 72 69 6e | 67 20 4f 70 74 69 6f 6e |e( strin|g Option|
|00000390| 73 2c 20 6f 75 74 20 73 | 74 72 69 6e 67 20 45 72 |s, out s|tring Er|
|000003a0| 72 6f 72 20 29 0d 0a 7b | 0d 0a 09 53 75 70 65 72 |ror )..{|...Super|
|000003b0| 2e 49 6e 69 74 47 61 6d | 65 28 4f 70 74 69 6f 6e |.InitGam|e(Option|
|000003c0| 73 2c 20 45 72 72 6f 72 | 29 3b 0d 0a 09 69 66 20 |s, Error|);...if |
|000003d0| 28 20 62 52 61 74 65 64 | 47 61 6d 65 20 29 0d 0a |( bRated|Game )..|
|000003e0| 09 09 47 6f 61 6c 54 65 | 61 6d 53 63 6f 72 65 20 |..GoalTe|amScore |
|000003f0| 3d 20 35 3b 0d 0a 0d 0a | 09 46 72 61 67 4c 69 6d |= 5;....|.FragLim|
|00000400| 69 74 20 3d 20 30 3b 0d | 0a 7d 0d 0a 0d 0a 66 75 |it = 0;.|.}....fu|
|00000410| 6e 63 74 69 6f 6e 20 53 | 63 6f 72 65 4b 69 6c 6c |nction S|coreKill|
|00000420| 28 70 61 77 6e 20 4b 69 | 6c 6c 65 72 2c 20 70 61 |(pawn Ki|ller, pa|
|00000430| 77 6e 20 4f 74 68 65 72 | 29 0d 0a 7b 0d 0a 09 6c |wn Other|)..{...l|
|00000440| 6f 63 61 6c 20 69 6e 74 | 20 4e 65 78 74 54 61 75 |ocal int| NextTau|
|00000450| 6e 74 2c 20 69 3b 0d 0a | 09 6c 6f 63 61 6c 20 62 |nt, i;..|.local b|
|00000460| 6f 6f 6c 20 62 41 75 74 | 6f 54 61 75 6e 74 3b 0d |ool bAut|oTaunt;.|
|00000470| 0a 0d 0a 09 69 66 28 20 | 28 6b 69 6c 6c 65 72 20 |....if( |(killer |
|00000480| 3d 3d 20 4f 74 68 65 72 | 29 20 7c 7c 20 28 6b 69 |== Other|) || (ki|
|00000490| 6c 6c 65 72 20 3d 3d 20 | 4e 6f 6e 65 29 20 29 0d |ller == |None) ).|
|000004a0| 0a 09 09 4f 74 68 65 72 | 2e 50 6c 61 79 65 72 52 |...Other|.PlayerR|
|000004b0| 65 70 6c 69 63 61 74 69 | 6f 6e 49 6e 66 6f 2e 53 |eplicati|onInfo.S|
|000004c0| 63 6f 72 65 20 2d 3d 20 | 31 3b 0d 0a 09 65 6c 73 |core -= |1;...els|
|000004d0| 65 20 69 66 20 28 20 6b | 69 6c 6c 65 72 20 21 3d |e if ( k|iller !=|
|000004e0| 20 4e 6f 6e 65 20 29 0d | 0a 09 7b 0d 0a 09 09 6b | None ).|..{....k|
|000004f0| 69 6c 6c 65 72 2e 6b 69 | 6c 6c 43 6f 75 6e 74 2b |iller.ki|llCount+|
|00000500| 2b 3b 0d 0a 09 09 69 66 | 20 28 20 4b 69 6c 6c 65 |+;....if| ( Kille|
|00000510| 72 2e 62 49 73 50 6c 61 | 79 65 72 20 26 26 20 4f |r.bIsPla|yer && O|
|00000520| 74 68 65 72 2e 62 49 73 | 50 6c 61 79 65 72 20 26 |ther.bIs|Player &|
|00000530| 26 20 28 4b 69 6c 6c 65 | 72 2e 50 6c 61 79 65 72 |& (Kille|r.Player|
|00000540| 52 65 70 6c 69 63 61 74 | 69 6f 6e 49 6e 66 6f 2e |Replicat|ionInfo.|
|00000550| 54 65 61 6d 20 21 3d 20 | 4f 74 68 65 72 2e 50 6c |Team != |Other.Pl|
|00000560| 61 79 65 72 52 65 70 6c | 69 63 61 74 69 6f 6e 49 |ayerRepl|icationI|
|00000570| 6e 66 6f 2e 54 65 61 6d | 29 20 29 0d 0a 09 09 09 |nfo.Team|) ).....|
|00000580| 4b 69 6c 6c 65 72 2e 50 | 6c 61 79 65 72 52 65 70 |Killer.P|layerRep|
|00000590| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 2e 53 63 6f |lication|Info.Sco|
|000005a0| 72 65 20 2b 3d 20 31 3b | 0d 0a 09 7d 0d 0a 09 69 |re += 1;|...}...i|
|000005b0| 66 20 28 20 62 41 6c 74 | 53 63 6f 72 69 6e 67 20 |f ( bAlt|Scoring |
|000005c0| 26 26 20 28 4b 69 6c 6c | 65 72 20 21 3d 20 4f 74 |&& (Kill|er != Ot|
|000005d0| 68 65 72 29 20 26 26 20 | 28 6b 69 6c 6c 65 72 20 |her) && |(killer |
|000005e0| 21 3d 20 4e 6f 6e 65 29 | 20 26 26 20 4f 74 68 65 |!= None)| && Othe|
|000005f0| 72 2e 62 49 73 50 6c 61 | 79 65 72 20 29 0d 0a 09 |r.bIsPla|yer )...|
|00000600| 09 4f 74 68 65 72 2e 50 | 6c 61 79 65 72 52 65 70 |.Other.P|layerRep|
|00000610| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 2e 53 63 6f |lication|Info.Sco|
|00000620| 72 65 20 2d 3d 20 31 3b | 0d 0a 0d 0a 09 4f 74 68 |re -= 1;|.....Oth|
|00000630| 65 72 2e 44 69 65 43 6f | 75 6e 74 2b 2b 3b 0d 0a |er.DieCo|unt++;..|
|00000640| 09 69 66 20 28 20 4f 74 | 68 65 72 2e 62 49 73 50 |.if ( Ot|her.bIsP|
|00000650| 6c 61 79 65 72 20 26 26 | 20 28 4f 74 68 65 72 2e |layer &&| (Other.|
|00000660| 50 6c 61 79 65 72 52 65 | 70 6c 69 63 61 74 69 6f |PlayerRe|plicatio|
|00000670| 6e 49 6e 66 6f 2e 48 61 | 73 46 6c 61 67 20 21 3d |nInfo.Ha|sFlag !=|
|00000680| 20 4e 6f 6e 65 29 20 29 | 0d 0a 09 7b 0d 0a 09 09 | None) )|...{....|
|00000690| 69 66 20 28 20 28 4b 69 | 6c 6c 65 72 20 21 3d 20 |if ( (Ki|ller != |
|000006a0| 4e 6f 6e 65 29 20 26 26 | 20 4b 69 6c 6c 65 72 2e |None) &&| Killer.|
|000006b0| 62 49 73 50 6c 61 79 65 | 72 20 26 26 20 4f 74 68 |bIsPlaye|r && Oth|
|000006c0| 65 72 2e 62 49 73 50 6c | 61 79 65 72 20 26 26 20 |er.bIsPl|ayer && |
|000006d0| 28 4b 69 6c 6c 65 72 2e | 50 6c 61 79 65 72 52 65 |(Killer.|PlayerRe|
|000006e0| 70 6c 69 63 61 74 69 6f | 6e 49 6e 66 6f 2e 54 65 |plicatio|nInfo.Te|
|000006f0| 61 6d 20 21 3d 20 4f 74 | 68 65 72 2e 50 6c 61 79 |am != Ot|her.Play|
|00000700| 65 72 52 65 70 6c 69 63 | 61 74 69 6f 6e 49 6e 66 |erReplic|ationInf|
|00000710| 6f 2e 54 65 61 6d 29 20 | 29 0d 0a 09 09 7b 0d 0a |o.Team) |)....{..|
|00000720| 09 09 09 6b 69 6c 6c 65 | 72 2e 50 6c 61 79 65 72 |...kille|r.Player|
|00000730| 52 65 70 6c 69 63 61 74 | 69 6f 6e 49 6e 66 6f 2e |Replicat|ionInfo.|
|00000740| 53 63 6f 72 65 20 2b 3d | 20 34 3b 0d 0a 09 09 09 |Score +=| 4;.....|
|00000750| 62 41 75 74 6f 54 61 75 | 6e 74 20 3d 20 28 28 54 |bAutoTau|nt = ((T|
|00000760| 6f 75 72 6e 61 6d 65 6e | 74 50 6c 61 79 65 72 28 |ournamen|tPlayer(|
|00000770| 4b 69 6c 6c 65 72 29 20 | 21 3d 20 4e 6f 6e 65 29 |Killer) |!= None)|
|00000780| 20 26 26 20 54 6f 75 72 | 6e 61 6d 65 6e 74 50 6c | && Tour|namentPl|
|00000790| 61 79 65 72 28 4b 69 6c | 6c 65 72 29 2e 62 41 75 |ayer(Kil|ler).bAu|
|000007a0| 74 6f 54 61 75 6e 74 29 | 3b 0d 0a 09 09 09 69 66 |toTaunt)|;.....if|
|000007b0| 20 28 20 28 42 6f 74 28 | 4b 69 6c 6c 65 72 29 20 | ( (Bot(|Killer) |
|000007c0| 21 3d 20 4e 6f 6e 65 29 | 20 7c 7c 20 62 41 75 74 |!= None)| || bAut|
|000007d0| 6f 54 61 75 6e 74 20 29 | 0d 0a 09 09 09 7b 0d 0a |oTaunt )|.....{..|
|000007e0| 09 09 09 09 4e 65 78 74 | 54 61 75 6e 74 20 3d 20 |....Next|Taunt = |
|000007f0| 52 61 6e 64 28 63 6c 61 | 73 73 3c 43 68 61 6c 6c |Rand(cla|ss<Chall|
|00000800| 65 6e 67 65 56 6f 69 63 | 65 50 61 63 6b 3e 28 4b |engeVoic|ePack>(K|
|00000810| 69 6c 6c 65 72 2e 50 6c | 61 79 65 72 52 65 70 6c |iller.Pl|ayerRepl|
|00000820| 69 63 61 74 69 6f 6e 49 | 6e 66 6f 2e 56 6f 69 63 |icationI|nfo.Voic|
|00000830| 65 54 79 70 65 29 2e 44 | 65 66 61 75 6c 74 2e 4e |eType).D|efault.N|
|00000840| 75 6d 54 61 75 6e 74 73 | 29 3b 0d 0a 09 09 09 09 |umTaunts|);......|
|00000850| 66 6f 72 20 28 20 69 3d | 30 3b 20 69 3c 34 3b 20 |for ( i=|0; i<4; |
|00000860| 69 2b 2b 20 29 0d 0a 09 | 09 09 09 7b 0d 0a 09 09 |i++ )...|...{....|
|00000870| 09 09 09 69 66 20 28 20 | 4e 65 78 74 54 61 75 6e |...if ( |NextTaun|
|00000880| 74 20 3d 3d 20 4c 61 73 | 74 54 61 75 6e 74 5b 69 |t == Las|tTaunt[i|
|00000890| 5d 20 29 0d 0a 09 09 09 | 09 09 09 4e 65 78 74 54 |] ).....|...NextT|
|000008a0| 61 75 6e 74 20 3d 20 52 | 61 6e 64 28 63 6c 61 73 |aunt = R|and(clas|
|000008b0| 73 3c 43 68 61 6c 6c 65 | 6e 67 65 56 6f 69 63 65 |s<Challe|ngeVoice|
|000008c0| 50 61 63 6b 3e 28 4b 69 | 6c 6c 65 72 2e 50 6c 61 |Pack>(Ki|ller.Pla|
|000008d0| 79 65 72 52 65 70 6c 69 | 63 61 74 69 6f 6e 49 6e |yerRepli|cationIn|
|000008e0| 66 6f 2e 56 6f 69 63 65 | 54 79 70 65 29 2e 44 65 |fo.Voice|Type).De|
|000008f0| 66 61 75 6c 74 2e 4e 75 | 6d 54 61 75 6e 74 73 29 |fault.Nu|mTaunts)|
|00000900| 3b 0d 0a 09 09 09 09 09 | 69 66 20 28 20 69 20 3e |;.......|if ( i >|
|00000910| 20 30 20 29 0d 0a 09 09 | 09 09 09 09 4c 61 73 74 | 0 )....|....Last|
|00000920| 54 61 75 6e 74 5b 69 2d | 31 5d 20 3d 20 4c 61 73 |Taunt[i-|1] = Las|
|00000930| 74 54 61 75 6e 74 5b 69 | 5d 3b 0d 0a 09 09 09 09 |tTaunt[i|];......|
|00000940| 7d 09 0d 0a 09 09 09 09 | 4c 61 73 74 54 61 75 6e |}.......|LastTaun|
|00000950| 74 5b 33 5d 20 3d 20 4e | 65 78 74 54 61 75 6e 74 |t[3] = N|extTaunt|
|00000960| 3b 0d 0a 09 09 09 09 6b | 69 6c 6c 65 72 2e 53 65 |;......k|iller.Se|
|00000970| 6e 64 47 6c 6f 62 61 6c | 4d 65 73 73 61 67 65 28 |ndGlobal|Message(|
|00000980| 4e 6f 6e 65 2c 20 27 41 | 55 54 4f 54 41 55 4e 54 |None, 'A|UTOTAUNT|
|00000990| 27 2c 20 4e 65 78 74 54 | 61 75 6e 74 2c 20 35 29 |', NextT|aunt, 5)|
|000009a0| 3b 0d 0a 09 09 09 7d 0d | 0a 09 09 7d 0d 0a 09 09 |;.....}.|...}....|
|000009b0| 43 54 46 46 6c 61 67 28 | 4f 74 68 65 72 2e 50 6c |CTFFlag(|Other.Pl|
|000009c0| 61 79 65 72 52 65 70 6c | 69 63 61 74 69 6f 6e 49 |ayerRepl|icationI|
|000009d0| 6e 66 6f 2e 48 61 73 46 | 6c 61 67 29 2e 44 72 6f |nfo.HasF|lag).Dro|
|000009e0| 70 28 30 2e 35 20 2a 20 | 4f 74 68 65 72 2e 56 65 |p(0.5 * |Other.Ve|
|000009f0| 6c 6f 63 69 74 79 29 3b | 0d 0a 09 7d 0d 0a 0d 0a |locity);|...}....|
|00000a00| 09 42 61 73 65 4d 75 74 | 61 74 6f 72 2e 53 63 6f |.BaseMut|ator.Sco|
|00000a10| 72 65 4b 69 6c 6c 28 4b | 69 6c 6c 65 72 2c 20 4f |reKill(K|iller, O|
|00000a20| 74 68 65 72 29 3b 0d 0a | 7d 09 0d 0a 0d 0a 66 75 |ther);..|}.....fu|
|00000a30| 6e 63 74 69 6f 6e 20 62 | 6f 6f 6c 20 53 65 74 45 |nction b|ool SetE|
|00000a40| 6e 64 43 61 6d 73 28 73 | 74 72 69 6e 67 20 52 65 |ndCams(s|tring Re|
|00000a50| 61 73 6f 6e 29 0d 0a 7b | 0d 0a 09 6c 6f 63 61 6c |ason)..{|...local|
|00000a60| 20 54 65 61 6d 49 6e 66 | 6f 20 42 65 73 74 3b 0d | TeamInf|o Best;.|
|00000a70| 0a 09 6c 6f 63 61 6c 20 | 46 6c 61 67 42 61 73 65 |..local |FlagBase|
|00000a80| 20 42 65 73 74 42 61 73 | 65 3b 0d 0a 09 6c 6f 63 | BestBas|e;...loc|
|00000a90| 61 6c 20 43 54 46 46 6c | 61 67 20 42 65 73 74 46 |al CTFFl|ag BestF|
|00000aa0| 6c 61 67 3b 0d 0a 09 6c | 6f 63 61 6c 20 50 61 77 |lag;...l|ocal Paw|
|00000ab0| 6e 20 50 3b 0d 0a 09 6c | 6f 63 61 6c 20 69 6e 74 |n P;...l|ocal int|
|00000ac0| 20 69 3b 0d 0a 09 6c 6f | 63 61 6c 20 50 6c 61 79 | i;...lo|cal Play|
|00000ad0| 65 72 50 61 77 6e 20 50 | 6c 61 79 65 72 3b 0d 0a |erPawn P|layer;..|
|00000ae0| 0d 0a 09 66 6f 72 20 28 | 20 69 3d 30 3b 20 69 3c |...for (| i=0; i<|
|00000af0| 4d 61 78 54 65 61 6d 73 | 3b 20 69 2b 2b 20 29 0d |MaxTeams|; i++ ).|
|00000b00| 0a 09 09 69 66 20 28 20 | 28 42 65 73 74 20 3d 3d |...if ( |(Best ==|
|00000b10| 20 4e 6f 6e 65 29 20 7c | 7c 20 28 42 65 73 74 2e | None) ||| (Best.|
|00000b20| 53 63 6f 72 65 20 3c 20 | 54 65 61 6d 73 5b 69 5d |Score < |Teams[i]|
|00000b30| 2e 53 63 6f 72 65 29 20 | 29 0d 0a 09 09 09 42 65 |.Score) |).....Be|
|00000b40| 73 74 20 3d 20 54 65 61 | 6d 73 5b 69 5d 3b 0d 0a |st = Tea|ms[i];..|
|00000b50| 0d 0a 09 66 6f 72 20 28 | 20 69 3d 30 3b 20 69 3c |...for (| i=0; i<|
|00000b60| 4d 61 78 54 65 61 6d 73 | 3b 20 69 2b 2b 20 29 0d |MaxTeams|; i++ ).|
|00000b70| 0a 09 09 69 66 20 28 20 | 28 42 65 73 74 2e 54 65 |...if ( |(Best.Te|
|00000b80| 61 6d 49 6e 64 65 78 20 | 21 3d 20 69 29 20 26 26 |amIndex |!= i) &&|
|00000b90| 20 28 42 65 73 74 2e 53 | 63 6f 72 65 20 3d 3d 20 | (Best.S|core == |
|00000ba0| 54 65 61 6d 73 5b 69 5d | 2e 53 63 6f 72 65 29 20 |Teams[i]|.Score) |
|00000bb0| 29 0d 0a 09 09 7b 0d 0a | 09 09 09 42 72 6f 61 64 |)....{..|...Broad|
|00000bc0| 63 61 73 74 4c 6f 63 61 | 6c 69 7a 65 64 4d 65 73 |castLoca|lizedMes|
|00000bd0| 73 61 67 65 28 63 6c 61 | 73 73 27 44 65 61 74 68 |sage(cla|ss'Death|
|00000be0| 4d 61 74 63 68 4d 65 73 | 73 61 67 65 27 2c 20 30 |MatchMes|sage', 0|
|00000bf0| 29 3b 0d 0a 09 09 09 72 | 65 74 75 72 6e 20 66 61 |);.....r|eturn fa|
|00000c00| 6c 73 65 3b 0d 0a 09 09 | 7d 09 09 0d 0a 0d 0a 09 |lse;....|}.......|
|00000c10| 2f 2f 20 66 69 6e 64 20 | 77 69 6e 6e 65 72 0d 0a |// find |winner..|
|00000c20| 09 46 6f 72 45 61 63 68 | 20 41 6c 6c 41 63 74 6f |.ForEach| AllActo|
|00000c30| 72 73 28 63 6c 61 73 73 | 27 43 54 46 46 6c 61 67 |rs(class|'CTFFlag|
|00000c40| 27 2c 20 42 65 73 74 46 | 6c 61 67 29 0d 0a 09 09 |', BestF|lag)....|
|00000c50| 69 66 20 28 20 42 65 73 | 74 46 6c 61 67 2e 54 65 |if ( Bes|tFlag.Te|
|00000c60| 61 6d 20 3d 3d 20 42 65 | 73 74 2e 54 65 61 6d 49 |am == Be|st.TeamI|
|00000c70| 6e 64 65 78 20 29 0d 0a | 09 09 09 62 72 65 61 6b |ndex )..|...break|
|00000c80| 3b 0d 0a 0d 0a 09 42 65 | 73 74 42 61 73 65 20 3d |;.....Be|stBase =|
|00000c90| 20 42 65 73 74 46 6c 61 | 67 2e 48 6f 6d 65 42 61 | BestFla|g.HomeBa|
|00000ca0| 73 65 3b 0d 0a 09 47 61 | 6d 65 52 65 70 6c 69 63 |se;...Ga|meReplic|
|00000cb0| 61 74 69 6f 6e 49 6e 66 | 6f 2e 47 61 6d 65 45 6e |ationInf|o.GameEn|
|00000cc0| 64 65 64 43 6f 6d 6d 65 | 6e 74 73 20 3d 20 54 65 |dedComme|nts = Te|
|00000cd0| 61 6d 50 72 65 66 69 78 | 40 42 65 73 74 2e 54 65 |amPrefix|@Best.Te|
|00000ce0| 61 6d 4e 61 6d 65 40 47 | 61 6d 65 45 6e 64 65 64 |amName@G|ameEnded|
|00000cf0| 4d 65 73 73 61 67 65 3b | 0d 0a 0d 0a 09 45 6e 64 |Message;|.....End|
|00000d00| 54 69 6d 65 20 3d 20 4c | 65 76 65 6c 2e 54 69 6d |Time = L|evel.Tim|
|00000d10| 65 53 65 63 6f 6e 64 73 | 20 2b 20 33 2e 30 3b 0d |eSeconds| + 3.0;.|
|00000d20| 0a 09 66 6f 72 20 28 20 | 50 3d 4c 65 76 65 6c 2e |..for ( |P=Level.|
|00000d30| 50 61 77 6e 4c 69 73 74 | 3b 20 50 21 3d 4e 6f 6e |PawnList|; P!=Non|
|00000d40| 65 3b 20 50 3d 50 2e 6e | 65 78 74 50 61 77 6e 20 |e; P=P.n|extPawn |
|00000d50| 29 0d 0a 09 7b 0d 0a 09 | 09 50 2e 47 6f 74 6f 53 |)...{...|.P.GotoS|
|00000d60| 74 61 74 65 28 27 47 61 | 6d 65 45 6e 64 65 64 27 |tate('Ga|meEnded'|
|00000d70| 29 3b 0d 0a 09 09 50 6c | 61 79 65 72 20 3d 20 50 |);....Pl|ayer = P|
|00000d80| 6c 61 79 65 72 50 61 77 | 6e 28 50 29 3b 0d 0a 09 |layerPaw|n(P);...|
|00000d90| 09 69 66 20 28 20 50 6c | 61 79 65 72 20 21 3d 20 |.if ( Pl|ayer != |
|00000da0| 4e 6f 6e 65 20 29 0d 0a | 09 09 7b 0d 0a 09 09 09 |None )..|..{.....|
|00000db0| 50 6c 61 79 65 72 2e 62 | 42 65 68 69 6e 64 56 69 |Player.b|BehindVi|
|00000dc0| 65 77 20 3d 20 74 72 75 | 65 3b 0d 0a 09 09 09 50 |ew = tru|e;.....P|
|00000dd0| 6c 61 79 65 72 2e 56 69 | 65 77 54 61 72 67 65 74 |layer.Vi|ewTarget|
|00000de0| 20 3d 20 42 65 73 74 42 | 61 73 65 3b 0d 0a 09 09 | = BestB|ase;....|
|00000df0| 09 69 66 20 28 21 62 54 | 75 74 6f 72 69 61 6c 47 |.if (!bT|utorialG|
|00000e00| 61 6d 65 29 0d 0a 09 09 | 09 09 50 6c 61 79 57 69 |ame)....|..PlayWi|
|00000e10| 6e 4d 65 73 73 61 67 65 | 28 50 6c 61 79 65 72 2c |nMessage|(Player,|
|00000e20| 20 28 50 6c 61 79 65 72 | 2e 50 6c 61 79 65 72 52 | (Player|.PlayerR|
|00000e30| 65 70 6c 69 63 61 74 69 | 6f 6e 49 6e 66 6f 2e 54 |eplicati|onInfo.T|
|00000e40| 65 61 6d 20 3d 3d 20 42 | 65 73 74 2e 54 65 61 6d |eam == B|est.Team|
|00000e50| 49 6e 64 65 78 29 29 3b | 0d 0a 09 09 09 50 6c 61 |Index));|.....Pla|
|00000e60| 79 65 72 2e 43 6c 69 65 | 6e 74 47 61 6d 65 45 6e |yer.Clie|ntGameEn|
|00000e70| 64 65 64 28 29 3b 0d 0a | 09 09 7d 0d 0a 09 7d 0d |ded();..|..}...}.|
|00000e80| 0a 09 42 65 73 74 42 61 | 73 65 2e 62 48 69 64 64 |..BestBa|se.bHidd|
|00000e90| 65 6e 20 3d 20 66 61 6c | 73 65 3b 0d 0a 09 42 65 |en = fal|se;...Be|
|00000ea0| 73 74 46 6c 61 67 2e 62 | 48 69 64 64 65 6e 20 3d |stFlag.b|Hidden =|
|00000eb0| 20 74 72 75 65 3b 0d 0a | 09 43 61 6c 63 45 6e 64 | true;..|.CalcEnd|
|00000ec0| 53 74 61 74 73 28 29 3b | 0d 0a 09 72 65 74 75 72 |Stats();|...retur|
|00000ed0| 6e 20 74 72 75 65 3b 0d | 0a 7d 0d 0a 0d 0a 66 75 |n true;.|.}....fu|
|00000ee0| 6e 63 74 69 6f 6e 20 43 | 61 6c 63 45 6e 64 53 74 |nction C|alcEndSt|
|00000ef0| 61 74 73 28 29 0d 0a 7b | 0d 0a 09 45 6e 64 53 74 |ats()..{|...EndSt|
|00000f00| 61 74 73 43 6c 61 73 73 | 2e 44 65 66 61 75 6c 74 |atsClass|.Default|
|00000f10| 2e 54 6f 74 61 6c 47 61 | 6d 65 73 2b 2b 3b 0d 0a |.TotalGa|mes++;..|
|00000f20| 09 45 6e 64 53 74 61 74 | 73 43 6c 61 73 73 2e 53 |.EndStat|sClass.S|
|00000f30| 74 61 74 69 63 2e 53 74 | 61 74 69 63 53 61 76 65 |tatic.St|aticSave|
|00000f40| 43 6f 6e 66 69 67 28 29 | 3b 0d 0a 7d 0d 0a 0d 0a |Config()|;..}....|
|00000f50| 66 75 6e 63 74 69 6f 6e | 20 53 63 6f 72 65 46 6c |function| ScoreFl|
|00000f60| 61 67 28 50 61 77 6e 20 | 53 63 6f 72 65 72 2c 20 |ag(Pawn |Scorer, |
|00000f70| 43 54 46 46 6c 61 67 20 | 74 68 65 46 6c 61 67 29 |CTFFlag |theFlag)|
|00000f80| 0d 0a 7b 0d 0a 09 6c 6f | 63 61 6c 20 70 61 77 6e |..{...lo|cal pawn|
|00000f90| 20 54 65 61 6d 4d 61 74 | 65 3b 0d 0a 09 6c 6f 63 | TeamMat|e;...loc|
|00000fa0| 61 6c 20 41 63 74 6f 72 | 20 41 3b 0d 0a 0d 0a 09 |al Actor| A;.....|
|00000fb0| 69 66 20 28 20 53 63 6f | 72 65 72 2e 50 6c 61 79 |if ( Sco|rer.Play|
|00000fc0| 65 72 52 65 70 6c 69 63 | 61 74 69 6f 6e 49 6e 66 |erReplic|ationInf|
|00000fd0| 6f 2e 54 65 61 6d 20 3d | 3d 20 74 68 65 46 6c 61 |o.Team =|= theFla|
|00000fe0| 67 2e 54 65 61 6d 20 29 | 0d 0a 09 7b 0d 0a 09 09 |g.Team )|...{....|
|00000ff0| 69 66 20 28 4c 65 76 65 | 6c 2e 47 61 6d 65 2e 57 |if (Leve|l.Game.W|
|00001000| 6f 72 6c 64 4c 6f 67 20 | 21 3d 20 4e 6f 6e 65 29 |orldLog |!= None)|
|00001010| 0d 0a 09 09 7b 0d 0a 09 | 09 09 4c 65 76 65 6c 2e |....{...|..Level.|
|00001020| 47 61 6d 65 2e 57 6f 72 | 6c 64 4c 6f 67 2e 4c 6f |Game.Wor|ldLog.Lo|
|00001030| 67 53 70 65 63 69 61 6c | 45 76 65 6e 74 28 22 66 |gSpecial|Event("f|
|00001040| 6c 61 67 5f 72 65 74 75 | 72 6e 65 64 22 2c 20 53 |lag_retu|rned", S|
|00001050| 63 6f 72 65 72 2e 50 6c | 61 79 65 72 52 65 70 6c |corer.Pl|ayerRepl|
|00001060| 69 63 61 74 69 6f 6e 49 | 6e 66 6f 2e 50 6c 61 79 |icationI|nfo.Play|
|00001070| 65 72 49 44 2c 20 54 65 | 61 6d 73 5b 74 68 65 46 |erID, Te|ams[theF|
|00001080| 6c 61 67 2e 54 65 61 6d | 5d 2e 54 65 61 6d 49 6e |lag.Team|].TeamIn|
|00001090| 64 65 78 29 3b 0d 0a 09 | 09 7d 0d 0a 09 09 69 66 |dex);...|.}....if|
|000010a0| 20 28 4c 65 76 65 6c 2e | 47 61 6d 65 2e 4c 6f 63 | (Level.|Game.Loc|
|000010b0| 61 6c 4c 6f 67 20 21 3d | 20 4e 6f 6e 65 29 0d 0a |alLog !=| None)..|
|000010c0| 09 09 7b 0d 0a 09 09 09 | 4c 65 76 65 6c 2e 47 61 |..{.....|Level.Ga|
|000010d0| 6d 65 2e 4c 6f 63 61 6c | 4c 6f 67 2e 4c 6f 67 53 |me.Local|Log.LogS|
|000010e0| 70 65 63 69 61 6c 45 76 | 65 6e 74 28 22 66 6c 61 |pecialEv|ent("fla|
|000010f0| 67 5f 72 65 74 75 72 6e | 65 64 22 2c 20 53 63 6f |g_return|ed", Sco|
|00001100| 72 65 72 2e 50 6c 61 79 | 65 72 52 65 70 6c 69 63 |rer.Play|erReplic|
|00001110| 61 74 69 6f 6e 49 6e 66 | 6f 2e 50 6c 61 79 65 72 |ationInf|o.Player|
|00001120| 49 44 2c 20 54 65 61 6d | 73 5b 74 68 65 46 6c 61 |ID, Team|s[theFla|
|00001130| 67 2e 54 65 61 6d 5d 2e | 54 65 61 6d 49 6e 64 65 |g.Team].|TeamInde|
|00001140| 78 29 3b 0d 0a 09 09 7d | 0d 0a 09 09 42 72 6f 61 |x);....}|....Broa|
|00001150| 64 63 61 73 74 4c 6f 63 | 61 6c 69 7a 65 64 4d 65 |dcastLoc|alizedMe|
|00001160| 73 73 61 67 65 28 20 63 | 6c 61 73 73 27 43 54 46 |ssage( c|lass'CTF|
|00001170| 4d 65 73 73 61 67 65 27 | 2c 20 31 2c 20 53 63 6f |Message'|, 1, Sco|
|00001180| 72 65 72 2e 50 6c 61 79 | 65 72 52 65 70 6c 69 63 |rer.Play|erReplic|
|00001190| 61 74 69 6f 6e 49 6e 66 | 6f 2c 20 4e 6f 6e 65 2c |ationInf|o, None,|
|000011a0| 20 54 68 65 46 6c 61 67 | 20 29 3b 0d 0a 09 09 66 | TheFlag| );....f|
|000011b0| 6f 72 20 28 20 54 65 61 | 6d 4d 61 74 65 3d 4c 65 |or ( Tea|mMate=Le|
|000011c0| 76 65 6c 2e 50 61 77 6e | 4c 69 73 74 3b 20 54 65 |vel.Pawn|List; Te|
|000011d0| 61 6d 4d 61 74 65 21 3d | 4e 6f 6e 65 3b 20 54 65 |amMate!=|None; Te|
|000011e0| 61 6d 4d 61 74 65 3d 54 | 65 61 6d 4d 61 74 65 2e |amMate=T|eamMate.|
|000011f0| 4e 65 78 74 50 61 77 6e | 20 29 0d 0a 09 09 7b 0d |NextPawn| )....{.|
|00001200| 0a 09 09 09 69 66 20 28 | 20 54 65 61 6d 4d 61 74 |....if (| TeamMat|
|00001210| 65 2e 49 73 41 28 27 50 | 6c 61 79 65 72 50 61 77 |e.IsA('P|layerPaw|
|00001220| 6e 27 29 20 29 0d 0a 09 | 09 09 09 50 6c 61 79 65 |n') )...|...Playe|
|00001230| 72 50 61 77 6e 28 54 65 | 61 6d 4d 61 74 65 29 2e |rPawn(Te|amMate).|
|00001240| 43 6c 69 65 6e 74 50 6c | 61 79 53 6f 75 6e 64 28 |ClientPl|aySound(|
|00001250| 52 65 74 75 72 6e 53 6f | 75 6e 64 29 3b 0d 0a 09 |ReturnSo|und);...|
|00001260| 09 09 65 6c 73 65 20 69 | 66 20 28 20 54 65 61 6d |..else i|f ( Team|
|00001270| 4d 61 74 65 2e 49 73 41 | 28 27 42 6f 74 27 29 20 |Mate.IsA|('Bot') |
|00001280| 29 0d 0a 09 09 09 09 42 | 6f 74 28 54 65 61 6d 4d |)......B|ot(TeamM|
|00001290| 61 74 65 29 2e 53 65 74 | 4f 72 64 65 72 73 28 42 |ate).Set|Orders(B|
|000012a0| 6f 74 52 65 70 6c 69 63 | 61 74 69 6f 6e 49 6e 66 |otReplic|ationInf|
|000012b0| 6f 28 54 65 61 6d 4d 61 | 74 65 2e 50 6c 61 79 65 |o(TeamMa|te.Playe|
|000012c0| 72 52 65 70 6c 69 63 61 | 74 69 6f 6e 49 6e 66 6f |rReplica|tionInfo|
|000012d0| 29 2e 52 65 61 6c 4f 72 | 64 65 72 73 2c 20 42 6f |).RealOr|ders, Bo|
|000012e0| 74 52 65 70 6c 69 63 61 | 74 69 6f 6e 49 6e 66 6f |tReplica|tionInfo|
|000012f0| 28 54 65 61 6d 4d 61 74 | 65 2e 50 6c 61 79 65 72 |(TeamMat|e.Player|
|00001300| 52 65 70 6c 69 63 61 74 | 69 6f 6e 49 6e 66 6f 29 |Replicat|ionInfo)|
|00001310| 2e 52 65 61 6c 4f 72 64 | 65 72 47 69 76 65 72 2c |.RealOrd|erGiver,|
|00001320| 20 74 72 75 65 29 3b 0d | 0a 09 09 7d 0d 0a 09 09 | true);.|...}....|
|00001330| 72 65 74 75 72 6e 3b 0d | 0a 09 7d 0d 0a 0d 0a 09 |return;.|..}.....|
|00001340| 69 66 20 28 20 62 52 61 | 74 65 64 47 61 6d 65 20 |if ( bRa|tedGame |
|00001350| 26 26 20 53 63 6f 72 65 | 72 2e 49 73 41 28 27 50 |&& Score|r.IsA('P|
|00001360| 6c 61 79 65 72 50 61 77 | 6e 27 29 20 29 0d 0a 09 |layerPaw|n') )...|
|00001370| 09 62 46 75 6c 66 69 6c | 6c 65 64 53 70 65 63 69 |.bFulfil|ledSpeci|
|00001380| 61 6c 20 3d 20 74 72 75 | 65 3b 0d 0a 09 53 63 6f |al = tru|e;...Sco|
|00001390| 72 65 72 2e 50 6c 61 79 | 65 72 52 65 70 6c 69 63 |rer.Play|erReplic|
|000013a0| 61 74 69 6f 6e 49 6e 66 | 6f 2e 53 63 6f 72 65 20 |ationInf|o.Score |
|000013b0| 2b 3d 20 37 3b 0d 0a 09 | 54 65 61 6d 73 5b 53 63 |+= 7;...|Teams[Sc|
|000013c0| 6f 72 65 72 2e 50 6c 61 | 79 65 72 52 65 70 6c 69 |orer.Pla|yerRepli|
|000013d0| 63 61 74 69 6f 6e 49 6e | 66 6f 2e 54 65 61 6d 5d |cationIn|fo.Team]|
|000013e0| 2e 53 63 6f 72 65 20 2b | 3d 20 31 2e 30 3b 0d 0a |.Score +|= 1.0;..|
|000013f0| 0d 0a 09 66 6f 72 20 28 | 20 54 65 61 6d 4d 61 74 |...for (| TeamMat|
|00001400| 65 3d 4c 65 76 65 6c 2e | 50 61 77 6e 4c 69 73 74 |e=Level.|PawnList|
|00001410| 3b 20 54 65 61 6d 4d 61 | 74 65 21 3d 4e 6f 6e 65 |; TeamMa|te!=None|
|00001420| 3b 20 54 65 61 6d 4d 61 | 74 65 3d 54 65 61 6d 4d |; TeamMa|te=TeamM|
|00001430| 61 74 65 2e 4e 65 78 74 | 50 61 77 6e 20 29 0d 0a |ate.Next|Pawn )..|
|00001440| 09 7b 0d 0a 09 09 69 66 | 20 28 20 54 65 61 6d 4d |.{....if| ( TeamM|
|00001450| 61 74 65 2e 49 73 41 28 | 27 50 6c 61 79 65 72 50 |ate.IsA(|'PlayerP|
|00001460| 61 77 6e 27 29 20 29 0d | 0a 09 09 09 50 6c 61 79 |awn') ).|....Play|
|00001470| 65 72 50 61 77 6e 28 54 | 65 61 6d 4d 61 74 65 29 |erPawn(T|eamMate)|
|00001480| 2e 43 6c 69 65 6e 74 50 | 6c 61 79 53 6f 75 6e 64 |.ClientP|laySound|
|00001490| 28 43 61 70 74 75 72 65 | 53 6f 75 6e 64 5b 53 63 |(Capture|Sound[Sc|
|000014a0| 6f 72 65 72 2e 50 6c 61 | 79 65 72 52 65 70 6c 69 |orer.Pla|yerRepli|
|000014b0| 63 61 74 69 6f 6e 49 6e | 66 6f 2e 54 65 61 6d 5d |cationIn|fo.Team]|
|000014c0| 29 3b 0d 0a 09 09 65 6c | 73 65 20 69 66 20 28 20 |);....el|se if ( |
|000014d0| 54 65 61 6d 4d 61 74 65 | 2e 49 73 41 28 27 42 6f |TeamMate|.IsA('Bo|
|000014e0| 74 27 29 20 29 0d 0a 09 | 09 09 42 6f 74 28 54 65 |t') )...|..Bot(Te|
|000014f0| 61 6d 4d 61 74 65 29 2e | 53 65 74 4f 72 64 65 72 |amMate).|SetOrder|
|00001500| 73 28 42 6f 74 52 65 70 | 6c 69 63 61 74 69 6f 6e |s(BotRep|lication|
|00001510| 49 6e 66 6f 28 54 65 61 | 6d 4d 61 74 65 2e 50 6c |Info(Tea|mMate.Pl|
|00001520| 61 79 65 72 52 65 70 6c | 69 63 61 74 69 6f 6e 49 |ayerRepl|icationI|
|00001530| 6e 66 6f 29 2e 52 65 61 | 6c 4f 72 64 65 72 73 2c |nfo).Rea|lOrders,|
|00001540| 20 42 6f 74 52 65 70 6c | 69 63 61 74 69 6f 6e 49 | BotRepl|icationI|
|00001550| 6e 66 6f 28 54 65 61 6d | 4d 61 74 65 2e 50 6c 61 |nfo(Team|Mate.Pla|
|00001560| 79 65 72 52 65 70 6c 69 | 63 61 74 69 6f 6e 49 6e |yerRepli|cationIn|
|00001570| 66 6f 29 2e 52 65 61 6c | 4f 72 64 65 72 47 69 76 |fo).Real|OrderGiv|
|00001580| 65 72 2c 20 74 72 75 65 | 29 3b 0d 0a 09 7d 0d 0a |er, true|);...}..|
|00001590| 0d 0a 09 69 66 20 28 4c | 65 76 65 6c 2e 47 61 6d |...if (L|evel.Gam|
|000015a0| 65 2e 57 6f 72 6c 64 4c | 6f 67 20 21 3d 20 4e 6f |e.WorldL|og != No|
|000015b0| 6e 65 29 0d 0a 09 7b 0d | 0a 09 09 4c 65 76 65 6c |ne)...{.|...Level|
|000015c0| 2e 47 61 6d 65 2e 57 6f | 72 6c 64 4c 6f 67 2e 4c |.Game.Wo|rldLog.L|
|000015d0| 6f 67 53 70 65 63 69 61 | 6c 45 76 65 6e 74 28 22 |ogSpecia|lEvent("|
|000015e0| 66 6c 61 67 5f 63 61 70 | 74 75 72 65 64 22 2c 20 |flag_cap|tured", |
|000015f0| 53 63 6f 72 65 72 2e 50 | 6c 61 79 65 72 52 65 70 |Scorer.P|layerRep|
|00001600| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 2e 50 6c 61 |lication|Info.Pla|
|00001610| 79 65 72 49 44 2c 20 54 | 65 61 6d 73 5b 74 68 65 |yerID, T|eams[the|
|00001620| 46 6c 61 67 2e 54 65 61 | 6d 5d 2e 54 65 61 6d 49 |Flag.Tea|m].TeamI|
|00001630| 6e 64 65 78 29 3b 0d 0a | 09 7d 0d 0a 09 69 66 20 |ndex);..|.}...if |
|00001640| 28 4c 65 76 65 6c 2e 47 | 61 6d 65 2e 4c 6f 63 61 |(Level.G|ame.Loca|
|00001650| 6c 4c 6f 67 20 21 3d 20 | 4e 6f 6e 65 29 0d 0a 09 |lLog != |None)...|
|00001660| 7b 0d 0a 09 09 4c 65 76 | 65 6c 2e 47 61 6d 65 2e |{....Lev|el.Game.|
|00001670| 4c 6f 63 61 6c 4c 6f 67 | 2e 4c 6f 67 53 70 65 63 |LocalLog|.LogSpec|
|00001680| 69 61 6c 45 76 65 6e 74 | 28 22 66 6c 61 67 5f 63 |ialEvent|("flag_c|
|00001690| 61 70 74 75 72 65 64 22 | 2c 20 53 63 6f 72 65 72 |aptured"|, Scorer|
|000016a0| 2e 50 6c 61 79 65 72 52 | 65 70 6c 69 63 61 74 69 |.PlayerR|eplicati|
|000016b0| 6f 6e 49 6e 66 6f 2e 50 | 6c 61 79 65 72 49 44 2c |onInfo.P|layerID,|
|000016c0| 20 54 65 61 6d 73 5b 74 | 68 65 46 6c 61 67 2e 54 | Teams[t|heFlag.T|
|000016d0| 65 61 6d 5d 2e 54 65 61 | 6d 49 6e 64 65 78 29 3b |eam].Tea|mIndex);|
|000016e0| 0d 0a 09 7d 0d 0a 09 45 | 6e 64 53 74 61 74 73 43 |...}...E|ndStatsC|
|000016f0| 6c 61 73 73 2e 44 65 66 | 61 75 6c 74 2e 54 6f 74 |lass.Def|ault.Tot|
|00001700| 61 6c 46 6c 61 67 73 2b | 2b 3b 0d 0a 09 42 72 6f |alFlags+|+;...Bro|
|00001710| 61 64 63 61 73 74 4c 6f | 63 61 6c 69 7a 65 64 4d |adcastLo|calizedM|
|00001720| 65 73 73 61 67 65 28 20 | 63 6c 61 73 73 27 43 54 |essage( |class'CT|
|00001730| 46 4d 65 73 73 61 67 65 | 27 2c 20 30 2c 20 53 63 |FMessage|', 0, Sc|
|00001740| 6f 72 65 72 2e 50 6c 61 | 79 65 72 52 65 70 6c 69 |orer.Pla|yerRepli|
|00001750| 63 61 74 69 6f 6e 49 6e | 66 6f 2c 20 4e 6f 6e 65 |cationIn|fo, None|
|00001760| 2c 20 54 68 65 46 6c 61 | 67 20 29 3b 0d 0a 09 69 |, TheFla|g );...i|
|00001770| 66 20 28 20 74 68 65 46 | 6c 61 67 2e 48 6f 6d 65 |f ( theF|lag.Home|
|00001780| 42 61 73 65 2e 45 76 65 | 6e 74 20 21 3d 20 27 27 |Base.Eve|nt != ''|
|00001790| 20 29 0d 0a 09 09 66 6f | 72 65 61 63 68 20 61 6c | )....fo|reach al|
|000017a0| 6c 61 63 74 6f 72 73 28 | 63 6c 61 73 73 27 41 63 |lactors(|class'Ac|
|000017b0| 74 6f 72 27 2c 20 41 2c | 20 74 68 65 46 6c 61 67 |tor', A,| theFlag|
|000017c0| 2e 48 6f 6d 65 42 61 73 | 65 2e 45 76 65 6e 74 20 |.HomeBas|e.Event |
|000017d0| 29 0d 0a 09 09 09 41 2e | 54 72 69 67 67 65 72 28 |).....A.|Trigger(|
|000017e0| 74 68 65 46 6c 61 67 2e | 48 6f 6d 65 42 61 73 65 |theFlag.|HomeBase|
|000017f0| 2c 09 53 63 6f 72 65 72 | 29 3b 0d 0a 0d 0a 09 69 |,.Scorer|);.....i|
|00001800| 66 20 28 20 28 62 4f 76 | 65 72 54 69 6d 65 20 7c |f ( (bOv|erTime ||
|00001810| 7c 20 28 47 6f 61 6c 54 | 65 61 6d 53 63 6f 72 65 || (GoalT|eamScore|
|00001820| 20 21 3d 20 30 29 29 20 | 26 26 20 28 54 65 61 6d | != 0)) |&& (Team|
|00001830| 73 5b 53 63 6f 72 65 72 | 2e 50 6c 61 79 65 72 52 |s[Scorer|.PlayerR|
|00001840| 65 70 6c 69 63 61 74 69 | 6f 6e 49 6e 66 6f 2e 54 |eplicati|onInfo.T|
|00001850| 65 61 6d 5d 2e 53 63 6f | 72 65 20 3e 3d 20 47 6f |eam].Sco|re >= Go|
|00001860| 61 6c 54 65 61 6d 53 63 | 6f 72 65 29 20 29 0d 0a |alTeamSc|ore) )..|
|00001870| 09 09 45 6e 64 47 61 6d | 65 28 22 74 65 61 6d 73 |..EndGam|e("teams|
|00001880| 63 6f 72 65 6c 69 6d 69 | 74 22 29 3b 0d 0a 09 65 |corelimi|t");...e|
|00001890| 6c 73 65 20 69 66 20 28 | 20 62 4f 76 65 72 54 69 |lse if (| bOverTi|
|000018a0| 6d 65 20 29 0d 0a 09 09 | 45 6e 64 47 61 6d 65 28 |me )....|EndGame(|
|000018b0| 22 74 69 6d 65 6c 69 6d | 69 74 22 29 3b 0d 0a 7d |"timelim|it");..}|
|000018c0| 0d 0a 20 0d 0a 66 75 6e | 63 74 69 6f 6e 20 41 63 |.. ..fun|ction Ac|
|000018d0| 74 6f 72 20 53 65 74 44 | 65 66 65 6e 73 65 46 6f |tor SetD|efenseFo|
|000018e0| 72 28 42 6f 74 20 61 42 | 6f 74 29 0d 0a 7b 0d 0a |r(Bot aB|ot)..{..|
|000018f0| 09 72 65 74 75 72 6e 20 | 43 54 46 52 65 70 6c 69 |.return |CTFRepli|
|00001900| 63 61 74 69 6f 6e 49 6e | 66 6f 28 47 61 6d 65 52 |cationIn|fo(GameR|
|00001910| 65 70 6c 69 63 61 74 69 | 6f 6e 49 6e 66 6f 29 2e |eplicati|onInfo).|
|00001920| 46 6c 61 67 4c 69 73 74 | 5b 61 42 6f 74 2e 50 6c |FlagList|[aBot.Pl|
|00001930| 61 79 65 72 52 65 70 6c | 69 63 61 74 69 6f 6e 49 |ayerRepl|icationI|
|00001940| 6e 66 6f 2e 54 65 61 6d | 5d 2e 48 6f 6d 65 42 61 |nfo.Team|].HomeBa|
|00001950| 73 65 3b 0d 0a 7d 0d 0a | 0d 0a 0d 0a 66 75 6e 63 |se;..}..|....func|
|00001960| 74 69 6f 6e 20 66 6c 6f | 61 74 20 47 61 6d 65 54 |tion flo|at GameT|
|00001970| 68 72 65 61 74 41 64 64 | 28 42 6f 74 20 61 42 6f |hreatAdd|(Bot aBo|
|00001980| 74 2c 20 50 61 77 6e 20 | 4f 74 68 65 72 29 0d 0a |t, Pawn |Other)..|
|00001990| 7b 0d 0a 09 6c 6f 63 61 | 6c 20 43 54 46 46 6c 61 |{...loca|l CTFFla|
|000019a0| 67 20 61 46 6c 61 67 3b | 0d 0a 0d 0a 09 69 66 20 |g aFlag;|.....if |
|000019b0| 28 20 4f 74 68 65 72 2e | 50 6c 61 79 65 72 52 65 |( Other.|PlayerRe|
|000019c0| 70 6c 69 63 61 74 69 6f | 6e 49 6e 66 6f 2e 48 61 |plicatio|nInfo.Ha|
|000019d0| 73 46 6c 61 67 20 21 3d | 20 4e 6f 6e 65 20 29 0d |sFlag !=| None ).|
|000019e0| 0a 09 09 72 65 74 75 72 | 6e 20 31 30 3b 0d 0a 09 |...retur|n 10;...|
|000019f0| 65 6c 73 65 0d 0a 09 09 | 72 65 74 75 72 6e 20 30 |else....|return 0|
|00001a00| 3b 0d 0a 7d 0d 0a 0d 0a | 66 75 6e 63 74 69 6f 6e |;..}....|function|
|00001a10| 20 62 6f 6f 6c 20 46 69 | 6e 64 50 61 74 68 54 6f | bool Fi|ndPathTo|
|00001a20| 42 61 73 65 28 42 6f 74 | 20 61 42 6f 74 2c 20 46 |Base(Bot| aBot, F|
|00001a30| 6c 61 67 42 61 73 65 20 | 61 42 61 73 65 29 0d 0a |lagBase |aBase)..|
|00001a40| 7b 0d 0a 09 69 66 20 28 | 20 28 61 42 6f 74 2e 41 |{...if (| (aBot.A|
|00001a50| 6c 74 65 72 6e 61 74 65 | 50 61 74 68 20 21 3d 20 |lternate|Path != |
|00001a60| 4e 6f 6e 65 29 20 0d 0a | 09 09 26 26 20 28 61 42 |None) ..|..&& (aB|
|00001a70| 6f 74 2e 41 6c 74 65 72 | 6e 61 74 65 50 61 74 68 |ot.Alter|natePath|
|00001a80| 2e 74 65 61 6d 20 3d 3d | 20 61 42 61 73 65 2e 74 |.team ==| aBase.t|
|00001a90| 65 61 6d 29 20 29 0d 0a | 09 7b 0d 0a 09 09 69 66 |eam) )..|.{....if|
|00001aa0| 20 28 20 61 42 6f 74 2e | 41 63 74 6f 72 52 65 61 | ( aBot.|ActorRea|
|00001ab0| 63 68 61 62 6c 65 28 61 | 42 6f 74 2e 41 6c 74 65 |chable(a|Bot.Alte|
|00001ac0| 72 6e 61 74 65 50 61 74 | 68 29 20 29 0d 0a 09 09 |rnatePat|h) )....|
|00001ad0| 7b 0d 0a 09 09 09 61 42 | 6f 74 2e 4d 6f 76 65 54 |{.....aB|ot.MoveT|
|00001ae0| 61 72 67 65 74 20 3d 20 | 61 42 6f 74 2e 41 6c 74 |arget = |aBot.Alt|
|00001af0| 65 72 6e 61 74 65 50 61 | 74 68 3b 0d 0a 09 09 09 |ernatePa|th;.....|
|00001b00| 61 42 6f 74 2e 41 6c 74 | 65 72 6e 61 74 65 50 61 |aBot.Alt|ernatePa|
|00001b10| 74 68 20 3d 20 4e 6f 6e | 65 3b 0d 0a 09 09 7d 0d |th = Non|e;....}.|
|00001b20| 0a 09 09 65 6c 73 65 0d | 0a 09 09 7b 0d 0a 09 09 |...else.|...{....|
|00001b30| 09 61 42 6f 74 2e 4d 6f | 76 65 54 61 72 67 65 74 |.aBot.Mo|veTarget|
|00001b40| 20 3d 20 61 42 6f 74 2e | 46 69 6e 64 50 61 74 68 | = aBot.|FindPath|
|00001b50| 54 6f 77 61 72 64 28 61 | 42 6f 74 2e 41 6c 74 65 |Toward(a|Bot.Alte|
|00001b60| 72 6e 61 74 65 50 61 74 | 68 29 3b 0d 0a 09 09 09 |rnatePat|h);.....|
|00001b70| 69 66 20 28 20 61 42 6f | 74 2e 4d 6f 76 65 54 61 |if ( aBo|t.MoveTa|
|00001b80| 72 67 65 74 20 3d 3d 20 | 4e 6f 6e 65 20 29 0d 0a |rget == |None )..|
|00001b90| 09 09 09 7b 0d 0a 09 09 | 09 09 61 42 6f 74 2e 41 |...{....|..aBot.A|
|00001ba0| 6c 74 65 72 6e 61 74 65 | 50 61 74 68 20 3d 20 4e |lternate|Path = N|
|00001bb0| 6f 6e 65 3b 0d 0a 09 09 | 09 09 61 42 6f 74 2e 4d |one;....|..aBot.M|
|00001bc0| 6f 76 65 54 61 72 67 65 | 74 20 3d 20 61 42 6f 74 |oveTarge|t = aBot|
|00001bd0| 2e 46 69 6e 64 50 61 74 | 68 54 6f 77 61 72 64 28 |.FindPat|hToward(|
|00001be0| 61 42 61 73 65 29 3b 0d | 0a 09 09 09 7d 0d 0a 09 |aBase);.|....}...|
|00001bf0| 09 7d 0d 0a 09 7d 0d 0a | 09 65 6c 73 65 09 09 09 |.}...}..|.else...|
|00001c00| 09 09 09 0d 0a 09 09 61 | 42 6f 74 2e 4d 6f 76 65 |.......a|Bot.Move|
|00001c10| 54 61 72 67 65 74 20 3d | 20 61 42 6f 74 2e 46 69 |Target =| aBot.Fi|
|00001c20| 6e 64 50 61 74 68 54 6f | 77 61 72 64 28 61 42 61 |ndPathTo|ward(aBa|
|00001c30| 73 65 29 3b 0d 0a 0d 0a | 09 72 65 74 75 72 6e 20 |se);....|.return |
|00001c40| 28 61 42 6f 74 2e 62 4e | 6f 43 6c 65 61 72 53 70 |(aBot.bN|oClearSp|
|00001c50| 65 63 69 61 6c 20 7c 7c | 20 28 61 42 6f 74 2e 4d |ecial ||| (aBot.M|
|00001c60| 6f 76 65 54 61 72 67 65 | 74 20 21 3d 20 4e 6f 6e |oveTarge|t != Non|
|00001c70| 65 29 29 3b 0d 0a 7d 0d | 0a 0d 0a 66 75 6e 63 74 |e));..}.|...funct|
|00001c80| 69 6f 6e 20 62 79 74 65 | 20 41 73 73 65 73 73 42 |ion byte| AssessB|
|00001c90| 6f 74 41 74 74 69 74 75 | 64 65 28 42 6f 74 20 61 |otAttitu|de(Bot a|
|00001ca0| 42 6f 74 2c 20 50 61 77 | 6e 20 4f 74 68 65 72 29 |Bot, Paw|n Other)|
|00001cb0| 0d 0a 7b 0d 0a 09 69 66 | 20 28 20 61 42 6f 74 2e |..{...if| ( aBot.|
|00001cc0| 50 6c 61 79 65 72 52 65 | 70 6c 69 63 61 74 69 6f |PlayerRe|plicatio|
|00001cd0| 6e 49 6e 66 6f 2e 54 65 | 61 6d 20 3d 3d 20 4f 74 |nInfo.Te|am == Ot|
|00001ce0| 68 65 72 2e 50 6c 61 79 | 65 72 52 65 70 6c 69 63 |her.Play|erReplic|
|00001cf0| 61 74 69 6f 6e 49 6e 66 | 6f 2e 54 65 61 6d 20 29 |ationInf|o.Team )|
|00001d00| 0d 0a 09 09 72 65 74 75 | 72 6e 20 33 3b 20 2f 2f |....retu|rn 3; //|
|00001d10| 74 65 61 6d 6d 61 74 65 | 0d 0a 09 65 6c 73 65 20 |teammate|...else |
|00001d20| 69 66 20 28 20 28 4f 74 | 68 65 72 2e 62 49 73 50 |if ( (Ot|her.bIsP|
|00001d30| 6c 61 79 65 72 20 26 26 | 20 28 4f 74 68 65 72 2e |layer &&| (Other.|
|00001d40| 50 6c 61 79 65 72 52 65 | 70 6c 69 63 61 74 69 6f |PlayerRe|plicatio|
|00001d50| 6e 49 6e 66 6f 2e 48 61 | 73 46 6c 61 67 20 21 3d |nInfo.Ha|sFlag !=|
|00001d60| 20 4e 6f 6e 65 29 29 20 | 0d 0a 09 09 09 09 7c 7c | None)) |......|||
|00001d70| 20 28 61 42 6f 74 2e 50 | 6c 61 79 65 72 52 65 70 | (aBot.P|layerRep|
|00001d80| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 2e 48 61 73 |lication|Info.Has|
|00001d90| 46 6c 61 67 20 21 3d 20 | 4e 6f 6e 65 29 20 29 0d |Flag != |None) ).|
|00001da0| 0a 09 09 72 65 74 75 72 | 6e 20 31 3b 0d 0a 09 65 |...retur|n 1;...e|
|00001db0| 6c 73 65 20 0d 0a 09 09 | 72 65 74 75 72 6e 20 53 |lse ....|return S|
|00001dc0| 75 70 65 72 2e 41 73 73 | 65 73 73 42 6f 74 41 74 |uper.Ass|essBotAt|
|00001dd0| 74 69 74 75 64 65 28 61 | 42 6f 74 2c 20 4f 74 68 |titude(a|Bot, Oth|
|00001de0| 65 72 29 3b 0d 0a 7d 0d | 0a 0d 0a 66 75 6e 63 74 |er);..}.|...funct|
|00001df0| 69 6f 6e 20 62 6f 6f 6c | 20 46 69 6e 64 53 70 65 |ion bool| FindSpe|
|00001e00| 63 69 61 6c 41 74 74 72 | 61 63 74 69 6f 6e 46 6f |cialAttr|actionFo|
|00001e10| 72 28 42 6f 74 20 61 42 | 6f 74 29 0d 0a 7b 0d 0a |r(Bot aB|ot)..{..|
|00001e20| 09 6c 6f 63 61 6c 20 43 | 54 46 46 6c 61 67 20 46 |.local C|TFFlag F|
|00001e30| 72 69 65 6e 64 6c 79 46 | 6c 61 67 2c 20 45 6e 65 |riendlyF|lag, Ene|
|00001e40| 6d 79 46 6c 61 67 3b 0d | 0a 09 6c 6f 63 61 6c 20 |myFlag;.|..local |
|00001e50| 62 6f 6f 6c 20 62 53 65 | 65 46 6c 61 67 2c 20 62 |bool bSe|eFlag, b|
|00001e60| 52 65 61 63 68 48 6f 6d | 65 2c 20 62 4f 72 64 65 |ReachHom|e, bOrde|
|00001e70| 72 65 64 3b 0d 0a 09 6c | 6f 63 61 6c 20 66 6c 6f |red;...l|ocal flo|
|00001e80| 61 74 20 44 69 73 74 3b | 0d 0a 0d 0a 09 69 66 20 |at Dist;|.....if |
|00001e90| 28 20 61 42 6f 74 2e 4c | 61 73 74 41 74 74 72 61 |( aBot.L|astAttra|
|00001ea0| 63 74 43 68 65 63 6b 20 | 3d 3d 20 4c 65 76 65 6c |ctCheck |== Level|
|00001eb0| 2e 54 69 6d 65 53 65 63 | 6f 6e 64 73 20 29 0d 0a |.TimeSec|onds )..|
|00001ec0| 09 09 72 65 74 75 72 6e | 20 66 61 6c 73 65 3b 0d |..return| false;.|
|00001ed0| 0a 09 61 42 6f 74 2e 4c | 61 73 74 41 74 74 72 61 |..aBot.L|astAttra|
|00001ee0| 63 74 43 68 65 63 6b 20 | 3d 20 4c 65 76 65 6c 2e |ctCheck |= Level.|
|00001ef0| 54 69 6d 65 53 65 63 6f | 6e 64 73 3b 0d 0a 0d 0a |TimeSeco|nds;....|
|00001f00| 09 2f 2f 6c 6f 67 28 61 | 42 6f 74 40 22 66 69 6e |.//log(a|Bot@"fin|
|00001f10| 64 20 73 70 65 63 69 61 | 6c 20 61 74 74 72 61 63 |d specia|l attrac|
|00001f20| 74 69 6f 6e 20 69 6e 20 | 73 74 61 74 65 22 40 61 |tion in |state"@a|
|00001f30| 42 6f 74 2e 47 65 74 53 | 74 61 74 65 4e 61 6d 65 |Bot.GetS|tateName|
|00001f40| 28 29 40 22 61 74 22 40 | 4c 65 76 65 6c 2e 54 69 |()@"at"@|Level.Ti|
|00001f50| 6d 65 53 65 63 6f 6e 64 | 73 29 3b 09 0d 0a 09 46 |meSecond|s);....F|
|00001f60| 72 69 65 6e 64 6c 79 46 | 6c 61 67 20 3d 20 43 54 |riendlyF|lag = CT|
|00001f70| 46 52 65 70 6c 69 63 61 | 74 69 6f 6e 49 6e 66 6f |FReplica|tionInfo|
|00001f80| 28 47 61 6d 65 52 65 70 | 6c 69 63 61 74 69 6f 6e |(GameRep|lication|
|00001f90| 49 6e 66 6f 29 2e 46 6c | 61 67 4c 69 73 74 5b 61 |Info).Fl|agList[a|
|00001fa0| 42 6f 74 2e 50 6c 61 79 | 65 72 52 65 70 6c 69 63 |Bot.Play|erReplic|
|00001fb0| 61 74 69 6f 6e 49 6e 66 | 6f 2e 54 65 61 6d 5d 3b |ationInf|o.Team];|
|00001fc0| 0d 0a 09 0d 0a 09 69 66 | 20 28 20 61 42 6f 74 2e |......if| ( aBot.|
|00001fd0| 50 6c 61 79 65 72 52 65 | 70 6c 69 63 61 74 69 6f |PlayerRe|plicatio|
|00001fe0| 6e 49 6e 66 6f 2e 54 65 | 61 6d 20 3d 3d 20 30 20 |nInfo.Te|am == 0 |
|00001ff0| 29 0d 0a 09 09 45 6e 65 | 6d 79 46 6c 61 67 20 3d |)....Ene|myFlag =|
|00002000| 20 43 54 46 52 65 70 6c | 69 63 61 74 69 6f 6e 49 | CTFRepl|icationI|
|00002010| 6e 66 6f 28 47 61 6d 65 | 52 65 70 6c 69 63 61 74 |nfo(Game|Replicat|
|00002020| 69 6f 6e 49 6e 66 6f 29 | 2e 46 6c 61 67 4c 69 73 |ionInfo)|.FlagLis|
|00002030| 74 5b 31 5d 3b 0d 0a 09 | 65 6c 73 65 0d 0a 09 09 |t[1];...|else....|
|00002040| 45 6e 65 6d 79 46 6c 61 | 67 20 3d 20 43 54 46 52 |EnemyFla|g = CTFR|
|00002050| 65 70 6c 69 63 61 74 69 | 6f 6e 49 6e 66 6f 28 47 |eplicati|onInfo(G|
|00002060| 61 6d 65 52 65 70 6c 69 | 63 61 74 69 6f 6e 49 6e |ameRepli|cationIn|
|00002070| 66 6f 29 2e 46 6c 61 67 | 4c 69 73 74 5b 30 5d 3b |fo).Flag|List[0];|
|00002080| 0d 0a 09 0d 0a 09 62 4f | 72 64 65 72 65 64 20 3d |......bO|rdered =|
|00002090| 20 61 42 6f 74 2e 62 53 | 6e 69 70 69 6e 67 20 7c | aBot.bS|niping ||
|000020a0| 7c 20 28 61 42 6f 74 2e | 4f 72 64 65 72 73 20 3d || (aBot.|Orders =|
|000020b0| 3d 20 27 46 6f 6c 6c 6f | 77 27 29 20 7c 7c 20 28 |= 'Follo|w') || (|
|000020c0| 61 42 6f 74 2e 4f 72 64 | 65 72 73 20 3d 3d 20 27 |aBot.Ord|ers == '|
|000020d0| 48 6f 6c 64 27 29 3b 0d | 0a 0d 0a 09 69 66 20 28 |Hold');.|....if (|
|000020e0| 20 21 46 72 69 65 6e 64 | 6c 79 46 6c 61 67 2e 62 | !Friend|lyFlag.b|
|000020f0| 48 6f 6d 65 20 20 29 0d | 0a 09 7b 0d 0a 09 09 62 |Home ).|..{....b|
|00002100| 53 65 65 46 6c 61 67 20 | 3d 20 61 42 6f 74 2e 4c |SeeFlag |= aBot.L|
|00002110| 69 6e 65 4f 66 53 69 67 | 68 74 54 6f 28 46 72 69 |ineOfSig|htTo(Fri|
|00002120| 65 6e 64 6c 79 46 6c 61 | 67 2e 50 6f 73 69 74 69 |endlyFla|g.Positi|
|00002130| 6f 6e 28 29 29 3b 0d 0a | 09 09 46 72 69 65 6e 64 |on());..|..Friend|
|00002140| 6c 79 46 6c 61 67 2e 62 | 4b 6e 6f 77 6e 4c 6f 63 |lyFlag.b|KnownLoc|
|00002150| 61 74 69 6f 6e 20 3d 20 | 46 72 69 65 6e 64 6c 79 |ation = |Friendly|
|00002160| 46 6c 61 67 2e 62 4b 6e | 6f 77 6e 4c 6f 63 61 74 |Flag.bKn|ownLocat|
|00002170| 69 6f 6e 20 7c 7c 20 62 | 53 65 65 46 6c 61 67 3b |ion || b|SeeFlag;|
|00002180| 0d 0a 0d 0a 09 09 69 66 | 20 28 20 62 53 65 65 46 |......if| ( bSeeF|
|00002190| 6c 61 67 20 26 26 20 28 | 46 72 69 65 6e 64 6c 79 |lag && (|Friendly|
|000021a0| 46 6c 61 67 2e 48 6f 6c | 64 65 72 20 3d 3d 20 4e |Flag.Hol|der == N|
|000021b0| 6f 6e 65 29 20 26 26 20 | 61 42 6f 74 2e 41 63 74 |one) && |aBot.Act|
|000021c0| 6f 72 52 65 61 63 68 61 | 62 6c 65 28 46 72 69 65 |orReacha|ble(Frie|
|000021d0| 6e 64 6c 79 46 6c 61 67 | 29 20 29 0d 0a 09 09 7b |ndlyFlag|) )....{|
|000021e0| 0d 0a 09 09 09 69 66 20 | 28 20 4c 65 76 65 6c 2e |.....if |( Level.|
|000021f0| 54 69 6d 65 53 65 63 6f | 6e 64 73 20 2d 20 4c 61 |TimeSeco|nds - La|
|00002200| 73 74 47 6f 74 46 6c 61 | 67 20 3e 20 36 20 29 0d |stGotFla|g > 6 ).|
|00002210| 0a 09 09 09 7b 09 0d 0a | 09 09 09 09 4c 61 73 74 |....{...|....Last|
|00002220| 47 6f 74 46 6c 61 67 20 | 3d 20 4c 65 76 65 6c 2e |GotFlag |= Level.|
|00002230| 54 69 6d 65 53 65 63 6f | 6e 64 73 3b 0d 0a 09 09 |TimeSeco|nds;....|
|00002240| 09 09 61 42 6f 74 2e 53 | 65 6e 64 54 65 61 6d 4d |..aBot.S|endTeamM|
|00002250| 65 73 73 61 67 65 28 4e | 6f 6e 65 2c 20 27 4f 54 |essage(N|one, 'OT|
|00002260| 48 45 52 27 2c 20 38 2c | 20 32 30 29 3b 0d 0a 09 |HER', 8,| 20);...|
|00002270| 09 09 7d 0d 0a 09 09 09 | 61 42 6f 74 2e 4d 6f 76 |..}.....|aBot.Mov|
|00002280| 65 54 61 72 67 65 74 20 | 3d 20 46 72 69 65 6e 64 |eTarget |= Friend|
|00002290| 6c 79 46 6c 61 67 3b 0d | 0a 09 09 09 53 65 74 41 |lyFlag;.|....SetA|
|000022a0| 74 74 72 61 63 74 69 6f | 6e 53 74 61 74 65 46 6f |ttractio|nStateFo|
|000022b0| 72 28 61 42 6f 74 29 3b | 0d 0a 09 09 09 72 65 74 |r(aBot);|.....ret|
|000022c0| 75 72 6e 20 74 72 75 65 | 3b 0d 0a 09 09 7d 0d 0a |urn true|;....}..|
|000022d0| 0d 0a 09 09 69 66 20 28 | 20 45 6e 65 6d 79 46 6c |....if (| EnemyFl|
|000022e0| 61 67 2e 48 6f 6c 64 65 | 72 20 21 3d 20 61 42 6f |ag.Holde|r != aBo|
|000022f0| 74 20 29 0d 0a 09 09 7b | 0d 0a 09 09 09 69 66 20 |t )....{|.....if |
|00002300| 28 20 62 53 65 65 46 6c | 61 67 20 26 26 20 28 46 |( bSeeFl|ag && (F|
|00002310| 72 69 65 6e 64 6c 79 46 | 6c 61 67 2e 48 6f 6c 64 |riendlyF|lag.Hold|
|00002320| 65 72 20 21 3d 20 4e 6f | 6e 65 29 20 29 0d 0a 09 |er != No|ne) )...|
|00002330| 09 09 7b 09 0d 0a 09 09 | 09 09 46 72 69 65 6e 64 |..{.....|..Friend|
|00002340| 6c 79 46 6c 61 67 2e 62 | 4b 6e 6f 77 6e 4c 6f 63 |lyFlag.b|KnownLoc|
|00002350| 61 74 69 6f 6e 20 3d 20 | 74 72 75 65 3b 0d 0a 09 |ation = |true;...|
|00002360| 09 09 09 69 66 20 28 20 | 4c 65 76 65 6c 2e 54 69 |...if ( |Level.Ti|
|00002370| 6d 65 53 65 63 6f 6e 64 | 73 20 2d 20 4c 61 73 74 |meSecond|s - Last|
|00002380| 53 65 65 46 6c 61 67 43 | 61 72 72 69 65 72 20 3e |SeeFlagC|arrier >|
|00002390| 20 36 20 29 0d 0a 09 09 | 09 09 7b 0d 0a 09 09 09 | 6 )....|..{.....|
|000023a0| 09 09 4c 61 73 74 53 65 | 65 46 6c 61 67 43 61 72 |..LastSe|eFlagCar|
|000023b0| 72 69 65 72 20 3d 20 4c | 65 76 65 6c 2e 54 69 6d |rier = L|evel.Tim|
|000023c0| 65 53 65 63 6f 6e 64 73 | 3b 0d 0a 09 09 09 09 09 |eSeconds|;.......|
|000023d0| 61 42 6f 74 2e 53 65 6e | 64 54 65 61 6d 4d 65 73 |aBot.Sen|dTeamMes|
|000023e0| 73 61 67 65 28 4e 6f 6e | 65 2c 20 27 4f 54 48 45 |sage(Non|e, 'OTHE|
|000023f0| 52 27 2c 20 31 32 2c 20 | 31 30 29 3b 0d 0a 09 09 |R', 12, |10);....|
|00002400| 09 09 7d 0d 0a 09 09 09 | 09 61 42 6f 74 2e 53 65 |..}.....|.aBot.Se|
|00002410| 74 45 6e 65 6d 79 28 46 | 72 69 65 6e 64 6c 79 46 |tEnemy(F|riendlyF|
|00002420| 6c 61 67 2e 48 6f 6c 64 | 65 72 29 3b 0d 0a 09 09 |lag.Hold|er);....|
|00002430| 09 09 61 42 6f 74 2e 4f | 72 64 65 72 73 20 3d 20 |..aBot.O|rders = |
|00002440| 27 46 72 65 65 6c 61 6e | 63 65 27 3b 0d 0a 09 09 |'Freelan|ce';....|
|00002450| 09 09 61 42 6f 74 2e 4d | 6f 76 65 54 61 72 67 65 |..aBot.M|oveTarge|
|00002460| 74 20 3d 20 46 72 69 65 | 6e 64 6c 79 46 6c 61 67 |t = Frie|ndlyFlag|
|00002470| 2e 48 6f 6c 64 65 72 3b | 0d 0a 09 09 09 09 69 66 |.Holder;|......if|
|00002480| 20 28 20 61 42 6f 74 2e | 49 73 49 6e 53 74 61 74 | ( aBot.|IsInStat|
|00002490| 65 28 27 41 74 74 61 63 | 6b 69 6e 67 27 29 20 29 |e('Attac|king') )|
|000024a0| 0d 0a 09 09 09 09 09 72 | 65 74 75 72 6e 20 66 61 |.......r|eturn fa|
|000024b0| 6c 73 65 3b 0d 0a 09 09 | 09 09 65 6c 73 65 0d 0a |lse;....|..else..|
|000024c0| 09 09 09 09 7b 0d 0a 09 | 09 09 09 09 61 42 6f 74 |....{...|....aBot|
|000024d0| 2e 47 6f 74 6f 53 74 61 | 74 65 28 27 41 74 74 61 |.GotoSta|te('Atta|
|000024e0| 63 6b 69 6e 67 27 29 3b | 0d 0a 09 09 09 09 09 72 |cking');|.......r|
|000024f0| 65 74 75 72 6e 20 74 72 | 75 65 3b 0d 0a 09 09 09 |eturn tr|ue;.....|
|00002500| 09 7d 0d 0a 09 09 09 7d | 0d 0a 09 09 09 65 6c 73 |.}.....}|.....els|
|00002510| 65 20 69 66 20 28 20 61 | 42 6f 74 2e 4f 72 64 65 |e if ( a|Bot.Orde|
|00002520| 72 73 20 3d 3d 20 27 41 | 74 74 61 63 6b 27 20 29 |rs == 'A|ttack' )|
|00002530| 0d 0a 09 09 09 7b 0d 0a | 09 09 09 09 2f 2f 20 62 |.....{..|....// b|
|00002540| 72 65 61 6b 20 6f 66 66 | 20 61 74 74 61 63 6b 20 |reak off| attack |
|00002550| 6f 6e 6c 79 20 69 66 20 | 6e 65 65 64 65 64 0d 0a |only if |needed..|
|00002560| 09 09 09 09 69 66 20 28 | 20 62 53 65 65 46 6c 61 |....if (| bSeeFla|
|00002570| 67 20 7c 7c 20 28 45 6e | 65 6d 79 46 6c 61 67 2e |g || (En|emyFlag.|
|00002580| 48 6f 6c 64 65 72 20 21 | 3d 20 4e 6f 6e 65 29 20 |Holder !|= None) |
|00002590| 0d 0a 09 09 09 09 09 7c | 7c 20 28 28 28 46 72 69 |.......||| (((Fri|
|000025a0| 65 6e 64 6c 79 46 6c 61 | 67 2e 50 6f 73 69 74 69 |endlyFla|g.Positi|
|000025b0| 6f 6e 28 29 2e 52 65 67 | 69 6f 6e 2e 5a 6f 6e 65 |on().Reg|ion.Zone|
|000025c0| 20 21 3d 20 46 72 69 65 | 6e 64 6c 79 46 6c 61 67 | != Frie|ndlyFlag|
|000025d0| 2e 48 6f 6d 65 62 61 73 | 65 2e 52 65 67 69 6f 6e |.Homebas|e.Region|
|000025e0| 2e 5a 6f 6e 65 29 20 7c | 7c 20 28 56 53 69 7a 65 |.Zone) ||| (VSize|
|000025f0| 28 46 72 69 65 6e 64 6c | 79 46 6c 61 67 2e 48 6f |(Friendl|yFlag.Ho|
|00002600| 6d 65 62 61 73 65 2e 4c | 6f 63 61 74 69 6f 6e 20 |mebase.L|ocation |
|00002610| 2d 20 46 72 69 65 6e 64 | 6c 79 46 6c 61 67 2e 50 |- Friend|lyFlag.P|
|00002620| 6f 73 69 74 69 6f 6e 28 | 29 2e 4c 6f 63 61 74 69 |osition(|).Locati|
|00002630| 6f 6e 29 20 3e 20 31 30 | 30 30 29 29 20 0d 0a 09 |on) > 10|00)) ...|
|00002640| 09 09 09 09 09 26 26 20 | 28 28 61 42 6f 74 2e 52 |.....&& |((aBot.R|
|00002650| 65 67 69 6f 6e 2e 5a 6f | 6e 65 20 21 3d 20 45 6e |egion.Zo|ne != En|
|00002660| 65 6d 79 46 6c 61 67 2e | 52 65 67 69 6f 6e 2e 5a |emyFlag.|Region.Z|
|00002670| 6f 6e 65 29 0d 0a 09 09 | 09 09 09 09 09 7c 7c 20 |one)....|.....|| |
|00002680| 28 56 53 69 7a 65 28 61 | 42 6f 74 2e 4c 6f 63 61 |(VSize(a|Bot.Loca|
|00002690| 74 69 6f 6e 20 2d 20 45 | 6e 65 6d 79 46 6c 61 67 |tion - E|nemyFlag|
|000026a0| 2e 4c 6f 63 61 74 69 6f | 6e 29 20 3e 20 31 36 30 |.Locatio|n) > 160|
|000026b0| 30 29 20 7c 7c 20 28 56 | 53 69 7a 65 28 61 42 6f |0) || (V|Size(aBo|
|000026c0| 74 2e 4c 6f 63 61 74 69 | 6f 6e 20 2d 20 46 72 69 |t.Locati|on - Fri|
|000026d0| 65 6e 64 6c 79 46 6c 61 | 67 2e 50 6f 73 69 74 69 |endlyFla|g.Positi|
|000026e0| 6f 6e 28 29 2e 4c 6f 63 | 61 74 69 6f 6e 29 20 3c |on().Loc|ation) <|
|000026f0| 20 31 32 30 30 29 29 29 | 20 29 0d 0a 09 09 09 09 | 1200)))| )......|
|00002700| 7b 0d 0a 09 09 09 09 09 | 46 72 69 65 6e 64 6c 79 |{.......|Friendly|
|00002710| 46 6c 61 67 2e 62 4b 6e | 6f 77 6e 4c 6f 63 61 74 |Flag.bKn|ownLocat|
|00002720| 69 6f 6e 20 3d 20 74 72 | 75 65 3b 0d 0a 09 09 09 |ion = tr|ue;.....|
|00002730| 09 09 61 42 6f 74 2e 4d | 6f 76 65 54 61 72 67 65 |..aBot.M|oveTarge|
|00002740| 74 20 3d 20 61 42 6f 74 | 2e 46 69 6e 64 50 61 74 |t = aBot|.FindPat|
|00002750| 68 54 6f 77 61 72 64 28 | 46 72 69 65 6e 64 6c 79 |hToward(|Friendly|
|00002760| 46 6c 61 67 2e 50 6f 73 | 69 74 69 6f 6e 28 29 29 |Flag.Pos|ition())|
|00002770| 3b 0d 0a 09 09 09 09 09 | 61 42 6f 74 2e 41 6c 74 |;.......|aBot.Alt|
|00002780| 65 72 6e 61 74 65 50 61 | 74 68 20 3d 20 4e 6f 6e |ernatePa|th = Non|
|00002790| 65 3b 0d 0a 09 09 09 09 | 09 69 66 20 28 20 61 42 |e;......|.if ( aB|
|000027a0| 6f 74 2e 4d 6f 76 65 54 | 61 72 67 65 74 20 21 3d |ot.MoveT|arget !=|
|000027b0| 20 4e 6f 6e 65 20 29 0d | 0a 09 09 09 09 09 7b 0d | None ).|......{.|
|000027c0| 0a 09 09 09 09 09 09 53 | 65 74 41 74 74 72 61 63 |.......S|etAttrac|
|000027d0| 74 69 6f 6e 53 74 61 74 | 65 46 6f 72 28 61 42 6f |tionStat|eFor(aBo|
|000027e0| 74 29 3b 0d 0a 09 09 09 | 09 09 09 72 65 74 75 72 |t);.....|...retur|
|000027f0| 6e 20 74 72 75 65 3b 0d | 0a 09 09 09 09 09 7d 0d |n true;.|......}.|
|00002800| 0a 09 09 09 09 7d 0d 0a | 09 09 09 7d 0d 0a 09 09 |.....}..|...}....|
|00002810| 09 65 6c 73 65 20 69 66 | 20 28 20 28 21 62 4f 72 |.else if| ( (!bOr|
|00002820| 64 65 72 65 64 20 7c 7c | 20 41 42 6f 74 2e 4f 72 |dered ||| ABot.Or|
|00002830| 64 65 72 4f 62 6a 65 63 | 74 2e 49 73 41 28 27 42 |derObjec|t.IsA('B|
|00002840| 6f 74 27 29 29 20 0d 0a | 09 09 09 09 26 26 20 28 |ot')) ..|....&& (|
|00002850| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 2e 62 4b 6e |Friendly|Flag.bKn|
|00002860| 6f 77 6e 4c 6f 63 61 74 | 69 6f 6e 20 7c 7c 20 28 |ownLocat|ion || (|
|00002870| 46 52 61 6e 64 28 29 20 | 3c 20 30 2e 31 29 29 20 |FRand() |< 0.1)) |
|00002880| 29 20 0d 0a 09 09 09 7b | 0d 0a 09 09 09 09 46 72 |) .....{|......Fr|
|00002890| 69 65 6e 64 6c 79 46 6c | 61 67 2e 62 4b 6e 6f 77 |iendlyFl|ag.bKnow|
|000028a0| 6e 4c 6f 63 61 74 69 6f | 6e 20 3d 20 74 72 75 65 |nLocatio|n = true|
|000028b0| 3b 0d 0a 09 09 09 09 61 | 42 6f 74 2e 4d 6f 76 65 |;......a|Bot.Move|
|000028c0| 54 61 72 67 65 74 20 3d | 20 61 42 6f 74 2e 46 69 |Target =| aBot.Fi|
|000028d0| 6e 64 50 61 74 68 54 6f | 77 61 72 64 28 46 72 69 |ndPathTo|ward(Fri|
|000028e0| 65 6e 64 6c 79 46 6c 61 | 67 2e 50 6f 73 69 74 69 |endlyFla|g.Positi|
|000028f0| 6f 6e 28 29 29 3b 0d 0a | 09 09 09 09 69 66 20 28 |on());..|....if (|
|00002900| 20 61 42 6f 74 2e 4d 6f | 76 65 54 61 72 67 65 74 | aBot.Mo|veTarget|
|00002910| 20 21 3d 20 4e 6f 6e 65 | 20 29 0d 0a 09 09 09 09 | != None| )......|
|00002920| 7b 0d 0a 09 09 09 09 09 | 53 65 74 41 74 74 72 61 |{.......|SetAttra|
|00002930| 63 74 69 6f 6e 53 74 61 | 74 65 46 6f 72 28 61 42 |ctionSta|teFor(aB|
|00002940| 6f 74 29 3b 0d 0a 09 09 | 09 09 09 72 65 74 75 72 |ot);....|...retur|
|00002950| 6e 20 74 72 75 65 3b 0d | 0a 09 09 09 09 7d 0d 0a |n true;.|.....}..|
|00002960| 09 09 09 7d 0d 0a 09 09 | 7d 0d 0a 09 7d 0d 0a 0d |...}....|}...}...|
|00002970| 0a 09 69 66 20 28 20 45 | 6e 65 6d 79 46 6c 61 67 |..if ( E|nemyFlag|
|00002980| 2e 48 6f 6c 64 65 72 20 | 3d 3d 20 61 42 6f 74 20 |.Holder |== aBot |
|00002990| 29 0d 0a 09 7b 0d 0a 09 | 09 61 42 6f 74 2e 62 43 |)...{...|.aBot.bC|
|000029a0| 61 6e 54 72 61 6e 73 6c | 6f 63 61 74 65 20 3d 20 |anTransl|ocate = |
|000029b0| 66 61 6c 73 65 3b 0d 0a | 09 09 62 52 65 61 63 68 |false;..|..bReach|
|000029c0| 48 6f 6d 65 20 3d 20 61 | 42 6f 74 2e 41 63 74 6f |Home = a|Bot.Acto|
|000029d0| 72 52 65 61 63 68 61 62 | 6c 65 28 46 72 69 65 6e |rReachab|le(Frien|
|000029e0| 64 6c 79 46 6c 61 67 2e | 48 6f 6d 65 42 61 73 65 |dlyFlag.|HomeBase|
|000029f0| 29 3b 0d 0a 09 09 69 66 | 20 28 20 62 52 65 61 63 |);....if| ( bReac|
|00002a00| 68 48 6f 6d 65 20 26 26 | 20 21 46 72 69 65 6e 64 |hHome &&| !Friend|
|00002a10| 6c 79 46 6c 61 67 2e 62 | 48 6f 6d 65 20 29 0d 0a |lyFlag.b|Home )..|
|00002a20| 09 09 7b 0d 0a 09 09 09 | 61 42 6f 74 2e 53 65 6e |..{.....|aBot.Sen|
|00002a30| 64 54 65 61 6d 4d 65 73 | 73 61 67 65 28 4e 6f 6e |dTeamMes|sage(Non|
|00002a40| 65 2c 20 27 4f 54 48 45 | 52 27 2c 20 31 2c 20 32 |e, 'OTHE|R', 1, 2|
|00002a50| 35 29 3b 0d 0a 09 09 09 | 61 42 6f 74 2e 4f 72 64 |5);.....|aBot.Ord|
|00002a60| 65 72 73 20 3d 20 27 46 | 72 65 65 6c 61 6e 63 65 |ers = 'F|reelance|
|00002a70| 27 3b 0d 0a 09 09 09 72 | 65 74 75 72 6e 20 66 61 |';.....r|eturn fa|
|00002a80| 6c 73 65 3b 0d 0a 09 09 | 7d 0d 0a 09 09 69 66 20 |lse;....|}....if |
|00002a90| 28 20 62 52 65 61 63 68 | 48 6f 6d 65 20 26 26 20 |( bReach|Home && |
|00002aa0| 28 56 53 69 7a 65 28 61 | 42 6f 74 2e 4c 6f 63 61 |(VSize(a|Bot.Loca|
|00002ab0| 74 69 6f 6e 20 2d 20 46 | 72 69 65 6e 64 6c 79 46 |tion - F|riendlyF|
|00002ac0| 6c 61 67 2e 4c 6f 63 61 | 74 69 6f 6e 29 20 3c 20 |lag.Loca|tion) < |
|00002ad0| 33 30 29 20 29 0d 0a 09 | 09 09 46 72 69 65 6e 64 |30) )...|..Friend|
|00002ae0| 6c 79 46 6c 61 67 2e 54 | 6f 75 63 68 28 61 42 6f |lyFlag.T|ouch(aBo|
|00002af0| 74 29 3b 0d 0a 09 09 69 | 66 20 28 20 61 42 6f 74 |t);....i|f ( aBot|
|00002b00| 2e 45 6e 65 6d 79 20 21 | 3d 20 4e 6f 6e 65 20 29 |.Enemy !|= None )|
|00002b10| 0d 0a 09 09 7b 0d 0a 09 | 09 09 69 66 20 28 20 61 |....{...|..if ( a|
|00002b20| 42 6f 74 2e 48 65 61 6c | 74 68 20 3c 20 36 30 20 |Bot.Heal|th < 60 |
|00002b30| 29 0d 0a 09 09 09 09 61 | 42 6f 74 2e 53 65 6e 64 |)......a|Bot.Send|
|00002b40| 54 65 61 6d 4d 65 73 73 | 61 67 65 28 4e 6f 6e 65 |TeamMess|age(None|
|00002b50| 2c 20 27 4f 54 48 45 52 | 27 2c 20 31 33 2c 20 32 |, 'OTHER|', 13, 2|
|00002b60| 35 29 3b 0d 0a 09 09 09 | 69 66 20 28 20 21 61 42 |5);.....|if ( !aB|
|00002b70| 6f 74 2e 49 73 49 6e 53 | 74 61 74 65 28 27 46 61 |ot.IsInS|tate('Fa|
|00002b80| 6c 6c 42 61 63 6b 27 29 | 20 29 0d 0a 09 09 09 7b |llBack')| ).....{|
|00002b90| 0d 0a 09 09 09 09 61 42 | 6f 74 2e 62 4e 6f 43 6c |......aB|ot.bNoCl|
|00002ba0| 65 61 72 53 70 65 63 69 | 61 6c 20 3d 20 74 72 75 |earSpeci|al = tru|
|00002bb0| 65 3b 0d 0a 09 09 09 09 | 61 42 6f 74 2e 54 77 65 |e;......|aBot.Twe|
|00002bc0| 65 6e 54 6f 52 75 6e 6e | 69 6e 67 28 30 2e 31 29 |enToRunn|ing(0.1)|
|00002bd0| 3b 0d 0a 09 09 09 09 61 | 42 6f 74 2e 47 6f 74 6f |;......a|Bot.Goto|
|00002be0| 53 74 61 74 65 28 27 46 | 61 6c 6c 62 61 63 6b 27 |State('F|allback'|
|00002bf0| 2c 20 27 53 70 65 63 69 | 61 6c 4e 61 76 69 67 27 |, 'Speci|alNavig'|
|00002c00| 29 3b 0d 0a 09 09 09 7d | 0d 0a 09 09 09 69 66 20 |);.....}|.....if |
|00002c10| 28 20 62 52 65 61 63 68 | 48 6f 6d 65 20 29 0d 0a |( bReach|Home )..|
|00002c20| 09 09 09 09 61 42 6f 74 | 2e 4d 6f 76 65 54 61 72 |....aBot|.MoveTar|
|00002c30| 67 65 74 20 3d 20 46 72 | 69 65 6e 64 6c 79 46 6c |get = Fr|iendlyFl|
|00002c40| 61 67 2e 48 6f 6d 65 42 | 61 73 65 3b 0d 0a 09 09 |ag.HomeB|ase;....|
|00002c50| 09 65 6c 73 65 0d 0a 09 | 09 09 09 72 65 74 75 72 |.else...|...retur|
|00002c60| 6e 20 46 69 6e 64 50 61 | 74 68 54 6f 42 61 73 65 |n FindPa|thToBase|
|00002c70| 28 61 42 6f 74 2c 20 46 | 72 69 65 6e 64 6c 79 46 |(aBot, F|riendlyF|
|00002c80| 6c 61 67 2e 48 6f 6d 65 | 42 61 73 65 29 3b 0d 0a |lag.Home|Base);..|
|00002c90| 09 09 7d 0d 0a 09 09 65 | 6c 73 65 0d 0a 09 09 7b |..}....e|lse....{|
|00002ca0| 0d 0a 09 09 09 69 66 20 | 28 20 21 61 42 6f 74 2e |.....if |( !aBot.|
|00002cb0| 49 73 49 6e 53 74 61 74 | 65 28 27 52 6f 61 6d 69 |IsInStat|e('Roami|
|00002cc0| 6e 67 27 29 20 29 0d 0a | 09 09 09 7b 0d 0a 09 09 |ng') )..|...{....|
|00002cd0| 09 09 61 42 6f 74 2e 62 | 4e 6f 43 6c 65 61 72 53 |..aBot.b|NoClearS|
|00002ce0| 70 65 63 69 61 6c 20 3d | 20 74 72 75 65 3b 0d 0a |pecial =| true;..|
|00002cf0| 09 09 09 09 61 42 6f 74 | 2e 54 77 65 65 6e 54 6f |....aBot|.TweenTo|
|00002d00| 52 75 6e 6e 69 6e 67 28 | 30 2e 31 29 3b 0d 0a 09 |Running(|0.1);...|
|00002d10| 09 09 09 61 42 6f 74 2e | 47 6f 74 6f 53 74 61 74 |...aBot.|GotoStat|
|00002d20| 65 28 27 52 6f 61 6d 69 | 6e 67 27 2c 20 27 53 70 |e('Roami|ng', 'Sp|
|00002d30| 65 63 69 61 6c 4e 61 76 | 69 67 27 29 3b 0d 0a 09 |ecialNav|ig');...|
|00002d40| 09 09 7d 0d 0a 09 09 09 | 69 66 20 28 20 62 52 65 |..}.....|if ( bRe|
|00002d50| 61 63 68 48 6f 6d 65 20 | 29 0d 0a 09 09 09 09 61 |achHome |)......a|
|00002d60| 42 6f 74 2e 4d 6f 76 65 | 54 61 72 67 65 74 20 3d |Bot.Move|Target =|
|00002d70| 20 46 72 69 65 6e 64 6c | 79 46 6c 61 67 2e 48 6f | Friendl|yFlag.Ho|
|00002d80| 6d 65 42 61 73 65 3b 0d | 0a 09 09 09 65 6c 73 65 |meBase;.|....else|
|00002d90| 0d 0a 09 09 09 09 72 65 | 74 75 72 6e 20 46 69 6e |......re|turn Fin|
|00002da0| 64 50 61 74 68 54 6f 42 | 61 73 65 28 61 42 6f 74 |dPathToB|ase(aBot|
|00002db0| 2c 20 46 72 69 65 6e 64 | 6c 79 46 6c 61 67 2e 48 |, Friend|lyFlag.H|
|00002dc0| 6f 6d 65 42 61 73 65 29 | 3b 0d 0a 09 09 7d 09 09 |omeBase)|;....}..|
|00002dd0| 0d 0a 09 09 72 65 74 75 | 72 6e 20 74 72 75 65 3b |....retu|rn true;|
|00002de0| 0d 0a 09 7d 0d 0a 0d 0a | 09 69 66 20 28 20 45 6e |...}....|.if ( En|
|00002df0| 65 6d 79 46 6c 61 67 2e | 48 6f 6c 64 65 72 20 3d |emyFlag.|Holder =|
|00002e00| 3d 20 4e 6f 6e 65 20 29 | 0d 0a 09 7b 0d 0a 09 09 |= None )|...{....|
|00002e10| 69 66 20 28 20 61 42 6f | 74 2e 41 63 74 6f 72 52 |if ( aBo|t.ActorR|
|00002e20| 65 61 63 68 61 62 6c 65 | 28 45 6e 65 6d 79 46 6c |eachable|(EnemyFl|
|00002e30| 61 67 29 20 29 0d 0a 09 | 09 7b 0d 0a 09 09 09 61 |ag) )...|.{.....a|
|00002e40| 42 6f 74 2e 4d 6f 76 65 | 54 61 72 67 65 74 20 3d |Bot.Move|Target =|
|00002e50| 20 45 6e 65 6d 79 46 6c | 61 67 3b 0d 0a 09 09 09 | EnemyFl|ag;.....|
|00002e60| 53 65 74 41 74 74 72 61 | 63 74 69 6f 6e 53 74 61 |SetAttra|ctionSta|
|00002e70| 74 65 46 6f 72 28 61 42 | 6f 74 29 3b 0d 0a 09 09 |teFor(aB|ot);....|
|00002e80| 09 72 65 74 75 72 6e 20 | 74 72 75 65 3b 0d 0a 09 |.return |true;...|
|00002e90| 09 7d 0d 0a 09 09 65 6c | 73 65 20 69 66 20 28 20 |.}....el|se if ( |
|00002ea0| 28 61 42 6f 74 2e 4f 72 | 64 65 72 73 20 3d 3d 20 |(aBot.Or|ders == |
|00002eb0| 27 41 74 74 61 63 6b 27 | 29 0d 0a 09 09 09 09 20 |'Attack'|)...... |
|00002ec0| 7c 7c 20 28 28 61 42 6f | 74 2e 4f 72 64 65 72 73 ||| ((aBo|t.Orders|
|00002ed0| 20 3d 3d 20 27 46 6f 6c | 6c 6f 77 27 29 20 26 26 | == 'Fol|low') &&|
|00002ee0| 20 61 42 6f 74 2e 4f 72 | 64 65 72 4f 62 6a 65 63 | aBot.Or|derObjec|
|00002ef0| 74 2e 49 73 41 28 27 42 | 6f 74 27 29 0d 0a 09 09 |t.IsA('B|ot')....|
|00002f00| 09 09 09 26 26 20 28 28 | 50 61 77 6e 28 61 42 6f |...&& ((|Pawn(aBo|
|00002f10| 74 2e 4f 72 64 65 72 4f | 62 6a 65 63 74 29 2e 48 |t.OrderO|bject).H|
|00002f20| 65 61 6c 74 68 20 3c 3d | 20 30 29 20 0d 0a 09 09 |ealth <=| 0) ....|
|00002f30| 09 09 09 09 20 7c 7c 20 | 28 28 45 6e 65 6d 79 46 |.... || |((EnemyF|
|00002f40| 6c 61 67 2e 52 65 67 69 | 6f 6e 2e 5a 6f 6e 65 20 |lag.Regi|on.Zone |
|00002f50| 3d 3d 20 61 42 6f 74 2e | 52 65 67 69 6f 6e 2e 5a |== aBot.|Region.Z|
|00002f60| 6f 6e 65 29 20 26 26 20 | 28 56 53 69 7a 65 28 45 |one) && |(VSize(E|
|00002f70| 6e 65 6d 79 46 6c 61 67 | 2e 4c 6f 63 61 74 69 6f |nemyFlag|.Locatio|
|00002f80| 6e 20 2d 20 61 42 6f 74 | 2e 4c 6f 63 61 74 69 6f |n - aBot|.Locatio|
|00002f90| 6e 29 20 3c 20 32 30 30 | 30 29 29 29 29 20 29 0d |n) < 200|0)))) ).|
|00002fa0| 0a 09 09 7b 0d 0a 09 09 | 09 69 66 20 28 20 21 61 |...{....|.if ( !a|
|00002fb0| 42 6f 74 2e 62 4b 61 6d | 69 6b 61 7a 65 0d 0a 09 |Bot.bKam|ikaze...|
|00002fc0| 09 09 09 26 26 20 28 20 | 28 61 42 6f 74 2e 57 65 |...&& ( |(aBot.We|
|00002fd0| 61 70 6f 6e 20 3d 3d 20 | 4e 6f 6e 65 29 20 7c 7c |apon == |None) |||
|00002fe0| 20 28 61 42 6f 74 2e 57 | 65 61 70 6f 6e 2e 41 49 | (aBot.W|eapon.AI|
|00002ff0| 52 61 74 69 6e 67 20 3c | 20 30 2e 34 29 29 20 29 |Rating <| 0.4)) )|
|00003000| 0d 0a 09 09 09 7b 0d 0a | 09 09 09 09 61 42 6f 74 |.....{..|....aBot|
|00003010| 2e 62 4b 61 6d 69 6b 61 | 7a 65 20 3d 20 28 20 46 |.bKamika|ze = ( F|
|00003020| 52 61 6e 64 28 29 20 3c | 20 30 2e 31 20 29 3b 0d |Rand() <| 0.1 );.|
|00003030| 0a 09 09 09 09 72 65 74 | 75 72 6e 20 66 61 6c 73 |.....ret|urn fals|
|00003040| 65 3b 0d 0a 09 09 09 7d | 0d 0a 0d 0a 09 09 09 69 |e;.....}|.......i|
|00003050| 66 20 28 20 28 61 42 6f | 74 2e 45 6e 65 6d 79 20 |f ( (aBo|t.Enemy |
|00003060| 21 3d 20 4e 6f 6e 65 29 | 20 0d 0a 09 09 09 09 26 |!= None)| ......&|
|00003070| 26 20 28 61 42 6f 74 2e | 45 6e 65 6d 79 2e 49 73 |& (aBot.|Enemy.Is|
|00003080| 41 28 27 50 6c 61 79 65 | 72 50 61 77 6e 27 29 20 |A('Playe|rPawn') |
|00003090| 7c 7c 20 28 61 42 6f 74 | 2e 45 6e 65 6d 79 2e 49 ||| (aBot|.Enemy.I|
|000030a0| 73 41 28 27 42 6f 74 27 | 29 20 26 26 20 28 42 6f |sA('Bot'|) && (Bo|
|000030b0| 74 28 61 42 6f 74 2e 45 | 6e 65 6d 79 29 2e 4f 72 |t(aBot.E|nemy).Or|
|000030c0| 64 65 72 73 20 3d 3d 20 | 27 41 74 74 61 63 6b 27 |ders == |'Attack'|
|000030d0| 29 29 29 0d 0a 09 09 09 | 09 26 26 20 28 28 28 61 |))).....|.&& (((a|
|000030e0| 42 6f 74 2e 45 6e 65 6d | 79 2e 52 65 67 69 6f 6e |Bot.Enem|y.Region|
|000030f0| 2e 5a 6f 6e 65 20 3d 3d | 20 46 72 69 65 6e 64 6c |.Zone ==| Friendl|
|00003100| 79 46 6c 61 67 2e 48 6f | 6d 65 42 61 73 65 2e 52 |yFlag.Ho|meBase.R|
|00003110| 65 67 69 6f 6e 2e 5a 6f | 6e 65 29 20 26 26 20 28 |egion.Zo|ne) && (|
|00003120| 45 6e 65 6d 79 46 6c 61 | 67 2e 48 6f 6d 65 42 61 |EnemyFla|g.HomeBa|
|00003130| 73 65 2e 52 65 67 69 6f | 6e 2e 5a 6f 6e 65 20 21 |se.Regio|n.Zone !|
|00003140| 3d 20 46 72 69 65 6e 64 | 6c 79 46 6c 61 67 2e 48 |= Friend|lyFlag.H|
|00003150| 6f 6d 65 42 61 73 65 2e | 52 65 67 69 6f 6e 2e 5a |omeBase.|Region.Z|
|00003160| 6f 6e 65 29 29 20 0d 0a | 09 09 09 09 09 7c 7c 20 |one)) ..|.....|| |
|00003170| 28 56 53 69 7a 65 28 61 | 42 6f 74 2e 45 6e 65 6d |(VSize(a|Bot.Enem|
|00003180| 79 2e 4c 6f 63 61 74 69 | 6f 6e 20 2d 20 46 72 69 |y.Locati|on - Fri|
|00003190| 65 6e 64 6c 79 46 6c 61 | 67 2e 48 6f 6d 65 42 61 |endlyFla|g.HomeBa|
|000031a0| 73 65 2e 4c 6f 63 61 74 | 69 6f 6e 29 20 3c 20 30 |se.Locat|ion) < 0|
|000031b0| 2e 36 20 2a 20 56 53 69 | 7a 65 28 61 42 6f 74 2e |.6 * VSi|ze(aBot.|
|000031c0| 4c 6f 63 61 74 69 6f 6e | 20 2d 20 45 6e 65 6d 79 |Location| - Enemy|
|000031d0| 46 6c 61 67 2e 48 6f 6d | 65 42 61 73 65 2e 4c 6f |Flag.Hom|eBase.Lo|
|000031e0| 63 61 74 69 6f 6e 29 29 | 29 20 29 0d 0a 09 09 09 |cation))|) ).....|
|000031f0| 09 7b 0d 0a 09 09 09 09 | 09 61 42 6f 74 2e 53 65 |.{......|.aBot.Se|
|00003200| 6e 64 54 65 61 6d 4d 65 | 73 73 61 67 65 28 4e 6f |ndTeamMe|ssage(No|
|00003210| 6e 65 2c 20 27 4f 54 48 | 45 52 27 2c 20 31 34 2c |ne, 'OTH|ER', 14,|
|00003220| 20 31 35 29 3b 20 2f 2f | 22 49 6e 63 6f 6d 69 6e | 15); //|"Incomin|
|00003230| 67 21 22 0d 0a 09 09 09 | 09 09 61 42 6f 74 2e 4f |g!".....|..aBot.O|
|00003240| 72 64 65 72 73 20 3d 20 | 27 46 72 65 65 6c 61 6e |rders = |'Freelan|
|00003250| 63 65 27 3b 0d 0a 09 09 | 09 09 09 72 65 74 75 72 |ce';....|...retur|
|00003260| 6e 20 66 61 6c 73 65 3b | 0d 0a 09 09 09 09 7d 0d |n false;|......}.|
|00003270| 0a 0d 0a 09 09 09 69 66 | 20 28 20 45 6e 65 6d 79 |......if| ( Enemy|
|00003280| 46 6c 61 67 2e 62 48 6f | 6d 65 20 29 0d 0a 09 09 |Flag.bHo|me )....|
|00003290| 09 09 46 69 6e 64 50 61 | 74 68 54 6f 42 61 73 65 |..FindPa|thToBase|
|000032a0| 28 61 42 6f 74 2c 20 45 | 6e 65 6d 79 46 6c 61 67 |(aBot, E|nemyFlag|
|000032b0| 2e 48 6f 6d 65 42 61 73 | 65 29 3b 0d 0a 09 09 09 |.HomeBas|e);.....|
|000032c0| 65 6c 73 65 0d 0a 09 09 | 09 09 61 42 6f 74 2e 4d |else....|..aBot.M|
|000032d0| 6f 76 65 54 61 72 67 65 | 74 20 3d 20 61 42 6f 74 |oveTarge|t = aBot|
|000032e0| 2e 46 69 6e 64 50 61 74 | 68 54 6f 77 61 72 64 28 |.FindPat|hToward(|
|000032f0| 45 6e 65 6d 79 46 6c 61 | 67 29 3b 0d 0a 09 09 09 |EnemyFla|g);.....|
|00003300| 69 66 20 28 20 61 42 6f | 74 2e 4d 6f 76 65 54 61 |if ( aBo|t.MoveTa|
|00003310| 72 67 65 74 20 21 3d 20 | 4e 6f 6e 65 20 29 0d 0a |rget != |None )..|
|00003320| 09 09 09 7b 0d 0a 09 09 | 09 09 53 65 74 41 74 74 |...{....|..SetAtt|
|00003330| 72 61 63 74 69 6f 6e 53 | 74 61 74 65 46 6f 72 28 |ractionS|tateFor(|
|00003340| 61 42 6f 74 29 3b 0d 0a | 09 09 09 09 72 65 74 75 |aBot);..|....retu|
|00003350| 72 6e 20 74 72 75 65 3b | 0d 0a 09 09 09 7d 0d 0a |rn true;|.....}..|
|00003360| 09 09 09 65 6c 73 65 0d | 0a 09 09 09 7b 0d 0a 09 |...else.|....{...|
|00003370| 09 09 09 69 66 20 28 20 | 61 42 6f 74 2e 62 56 65 |...if ( |aBot.bVe|
|00003380| 72 62 6f 73 65 20 29 0d | 0a 09 09 09 09 09 6c 6f |rbose ).|......lo|
|00003390| 67 28 61 42 6f 74 24 22 | 20 6e 6f 20 70 61 74 68 |g(aBot$"| no path|
|000033a0| 20 74 6f 20 66 6c 61 67 | 22 29 3b 0d 0a 09 09 09 | to flag|");.....|
|000033b0| 09 72 65 74 75 72 6e 20 | 66 61 6c 73 65 3b 0d 0a |.return |false;..|
|000033c0| 09 09 09 7d 0d 0a 09 09 | 7d 0d 0a 09 09 72 65 74 |...}....|}....ret|
|000033d0| 75 72 6e 20 66 61 6c 73 | 65 3b 0d 0a 09 7d 0d 0a |urn fals|e;...}..|
|000033e0| 0d 0a 09 69 66 20 28 20 | 28 62 4f 72 64 65 72 65 |...if ( |(bOrdere|
|000033f0| 64 20 26 26 20 21 61 42 | 6f 74 2e 4f 72 64 65 72 |d && !aB|ot.Order|
|00003400| 4f 62 6a 65 63 74 2e 49 | 73 41 28 27 42 6f 74 27 |Object.I|sA('Bot'|
|00003410| 29 29 20 7c 7c 20 28 61 | 42 6f 74 2e 57 65 61 70 |)) || (a|Bot.Weap|
|00003420| 6f 6e 20 3d 3d 20 4e 6f | 6e 65 29 20 7c 7c 20 28 |on == No|ne) || (|
|00003430| 61 42 6f 74 2e 57 65 61 | 70 6f 6e 2e 41 49 52 61 |aBot.Wea|pon.AIRa|
|00003440| 74 69 6e 67 20 3c 20 30 | 2e 34 29 20 29 0d 0a 09 |ting < 0|.4) )...|
|00003450| 09 72 65 74 75 72 6e 20 | 66 61 6c 73 65 3b 0d 0a |.return |false;..|
|00003460| 0d 0a 09 69 66 20 28 20 | 28 61 42 6f 74 2e 45 6e |...if ( |(aBot.En|
|00003470| 65 6d 79 20 3d 3d 20 4e | 6f 6e 65 29 20 26 26 20 |emy == N|one) && |
|00003480| 28 61 42 6f 74 2e 4f 72 | 64 65 72 73 20 21 3d 20 |(aBot.Or|ders != |
|00003490| 27 44 65 66 65 6e 64 27 | 29 20 29 0d 0a 09 7b 0d |'Defend'|) )...{.|
|000034a0| 0a 09 09 44 69 73 74 20 | 3d 20 56 53 69 7a 65 28 |...Dist |= VSize(|
|000034b0| 61 42 6f 74 2e 4c 6f 63 | 61 74 69 6f 6e 20 2d 20 |aBot.Loc|ation - |
|000034c0| 45 6e 65 6d 79 46 6c 61 | 67 2e 48 6f 6c 64 65 72 |EnemyFla|g.Holder|
|000034d0| 2e 4c 6f 63 61 74 69 6f | 6e 29 3b 0d 0a 09 09 69 |.Locatio|n);....i|
|000034e0| 66 20 28 20 28 44 69 73 | 74 20 3e 20 35 30 30 29 |f ( (Dis|t > 500)|
|000034f0| 20 7c 7c 20 28 56 53 69 | 7a 65 28 45 6e 65 6d 79 | || (VSi|ze(Enemy|
|00003500| 46 6c 61 67 2e 48 6f 6c | 64 65 72 2e 56 65 6c 6f |Flag.Hol|der.Velo|
|00003510| 63 69 74 79 29 20 3e 20 | 32 33 30 29 0d 0a 09 09 |city) > |230)....|
|00003520| 09 7c 7c 20 21 61 42 6f | 74 2e 4c 69 6e 65 4f 66 |.|| !aBo|t.LineOf|
|00003530| 53 69 67 68 74 54 6f 28 | 45 6e 65 6d 79 46 6c 61 |SightTo(|EnemyFla|
|00003540| 67 2e 48 6f 6c 64 65 72 | 29 20 29 0d 0a 09 09 7b |g.Holder|) )....{|
|00003550| 0d 0a 09 09 09 61 42 6f | 74 2e 4d 6f 76 65 54 61 |.....aBo|t.MoveTa|
|00003560| 72 67 65 74 20 3d 20 61 | 42 6f 74 2e 46 69 6e 64 |rget = a|Bot.Find|
|00003570| 50 61 74 68 54 6f 77 61 | 72 64 28 45 6e 65 6d 79 |PathTowa|rd(Enemy|
|00003580| 46 6c 61 67 2e 48 6f 6c | 64 65 72 29 3b 0d 0a 09 |Flag.Hol|der);...|
|00003590| 09 09 69 66 20 28 20 21 | 61 42 6f 74 2e 49 73 49 |..if ( !|aBot.IsI|
|000035a0| 6e 53 74 61 74 65 28 27 | 52 6f 61 6d 69 6e 67 27 |nState('|Roaming'|
|000035b0| 29 20 29 0d 0a 09 09 09 | 7b 0d 0a 09 09 09 09 61 |) ).....|{......a|
|000035c0| 42 6f 74 2e 62 4e 6f 43 | 6c 65 61 72 53 70 65 63 |Bot.bNoC|learSpec|
|000035d0| 69 61 6c 20 3d 20 74 72 | 75 65 3b 0d 0a 09 09 09 |ial = tr|ue;.....|
|000035e0| 09 61 42 6f 74 2e 54 77 | 65 65 6e 54 6f 52 75 6e |.aBot.Tw|eenToRun|
|000035f0| 6e 69 6e 67 28 30 2e 31 | 29 3b 0d 0a 09 09 09 09 |ning(0.1|);......|
|00003600| 61 42 6f 74 2e 47 6f 74 | 6f 53 74 61 74 65 28 27 |aBot.Got|oState('|
|00003610| 52 6f 61 6d 69 6e 67 27 | 2c 20 27 53 70 65 63 69 |Roaming'|, 'Speci|
|00003620| 61 6c 4e 61 76 69 67 27 | 29 3b 0d 0a 09 09 09 09 |alNavig'|);......|
|00003630| 72 65 74 75 72 6e 20 74 | 72 75 65 3b 0d 0a 09 09 |return t|rue;....|
|00003640| 09 7d 0d 0a 09 09 09 72 | 65 74 75 72 6e 20 28 61 |.}.....r|eturn (a|
|00003650| 42 6f 74 2e 4d 6f 76 65 | 54 61 72 67 65 74 20 21 |Bot.Move|Target !|
|00003660| 3d 20 4e 6f 6e 65 29 3b | 0d 0a 09 09 7d 0d 0a 09 |= None);|....}...|
|00003670| 09 65 6c 73 65 0d 0a 09 | 09 7b 0d 0a 09 09 09 69 |.else...|.{.....i|
|00003680| 66 20 28 20 21 61 42 6f | 74 2e 62 49 6e 69 74 4c |f ( !aBo|t.bInitL|
|00003690| 69 66 65 4d 65 73 73 61 | 67 65 20 29 0d 0a 09 09 |ifeMessa|ge )....|
|000036a0| 09 7b 0d 0a 09 09 09 09 | 61 42 6f 74 2e 62 49 6e |.{......|aBot.bIn|
|000036b0| 69 74 4c 69 66 65 4d 65 | 73 73 61 67 65 20 3d 20 |itLifeMe|ssage = |
|000036c0| 74 72 75 65 3b 0d 0a 09 | 09 09 09 61 42 6f 74 2e |true;...|...aBot.|
|000036d0| 53 65 6e 64 54 65 61 6d | 4d 65 73 73 61 67 65 28 |SendTeam|Message(|
|000036e0| 45 6e 65 6d 79 46 6c 61 | 67 2e 48 6f 6c 64 65 72 |EnemyFla|g.Holder|
|000036f0| 2e 50 6c 61 79 65 72 52 | 65 70 6c 69 63 61 74 69 |.PlayerR|eplicati|
|00003700| 6f 6e 49 6e 66 6f 2c 20 | 27 4f 54 48 45 52 27 2c |onInfo, |'OTHER',|
|00003710| 20 33 2c 20 31 30 29 3b | 0d 0a 09 09 09 7d 0d 0a | 3, 10);|.....}..|
|00003720| 09 09 09 69 66 20 28 20 | 46 52 61 6e 64 28 29 20 |...if ( |FRand() |
|00003730| 3c 20 30 2e 33 35 20 29 | 0d 0a 09 09 09 09 61 42 |< 0.35 )|......aB|
|00003740| 6f 74 2e 47 6f 74 6f 53 | 74 61 74 65 28 27 57 61 |ot.GotoS|tate('Wa|
|00003750| 6e 64 65 72 69 6e 67 27 | 29 3b 0d 0a 09 09 09 65 |ndering'|);.....e|
|00003760| 6c 73 65 0d 0a 09 09 09 | 7b 0d 0a 09 09 09 09 61 |lse.....|{......a|
|00003770| 42 6f 74 2e 43 61 6d 70 | 54 69 6d 65 20 3d 20 31 |Bot.Camp|Time = 1|
|00003780| 2e 30 3b 0d 0a 09 09 09 | 09 61 42 6f 74 2e 62 43 |.0;.....|.aBot.bC|
|00003790| 61 6d 70 4f 6e 6c 79 4f | 6e 63 65 20 3d 20 74 72 |ampOnlyO|nce = tr|
|000037a0| 75 65 3b 0d 0a 09 09 09 | 09 61 42 6f 74 2e 47 6f |ue;.....|.aBot.Go|
|000037b0| 74 6f 53 74 61 74 65 28 | 27 52 6f 61 6d 69 6e 67 |toState(|'Roaming|
|000037c0| 27 2c 20 27 43 61 6d 70 | 27 29 3b 0d 0a 09 09 09 |', 'Camp|');.....|
|000037d0| 7d 0d 0a 09 09 09 72 65 | 74 75 72 6e 20 74 72 75 |}.....re|turn tru|
|000037e0| 65 3b 0d 0a 09 09 7d 0d | 0a 09 7d 0d 0a 09 72 65 |e;....}.|..}...re|
|000037f0| 74 75 72 6e 20 66 61 6c | 73 65 3b 0d 0a 7d 09 09 |turn fal|se;..}..|
|00003800| 0d 0a 0d 0a 66 75 6e 63 | 74 69 6f 6e 20 62 6f 6f |....func|tion boo|
|00003810| 6c 20 52 65 73 74 61 72 | 74 50 6c 61 79 65 72 28 |l Restar|tPlayer(|
|00003820| 50 61 77 6e 20 61 50 6c | 61 79 65 72 29 0d 0a 7b |Pawn aPl|ayer)..{|
|00003830| 0d 0a 09 6c 6f 63 61 6c | 20 4e 61 76 69 67 61 74 |...local| Navigat|
|00003840| 69 6f 6e 50 6f 69 6e 74 | 20 4e 3b 0d 0a 09 6c 6f |ionPoint| N;...lo|
|00003850| 63 61 6c 20 69 6e 74 20 | 6e 75 6d 3b 0d 0a 09 6c |cal int |num;...l|
|00003860| 6f 63 61 6c 20 66 6c 6f | 61 74 20 74 6f 74 61 6c |ocal flo|at total|
|00003870| 57 65 69 67 68 74 2c 20 | 73 65 6c 65 63 74 69 6f |Weight, |selectio|
|00003880| 6e 2c 20 70 61 72 74 69 | 61 6c 57 65 69 67 68 74 |n, parti|alWeight|
|00003890| 3b 0d 0a 09 6c 6f 63 61 | 6c 20 62 6f 6f 6c 20 62 |;...loca|l bool b|
|000038a0| 52 65 73 75 6c 74 2c 20 | 62 50 6f 77 65 72 50 6c |Result, |bPowerPl|
|000038b0| 61 79 3b 0d 0a 09 6c 6f | 63 61 6c 20 62 6f 74 20 |ay;...lo|cal bot |
|000038c0| 42 3b 0d 0a 09 6c 6f 63 | 61 6c 20 50 61 77 6e 20 |B;...loc|al Pawn |
|000038d0| 50 3b 0d 0a 09 0d 0a 09 | 62 52 65 73 75 6c 74 20 |P;......|bResult |
|000038e0| 3d 20 53 75 70 65 72 2e | 52 65 73 74 61 72 74 50 |= Super.|RestartP|
|000038f0| 6c 61 79 65 72 28 61 50 | 6c 61 79 65 72 29 3b 0d |layer(aP|layer);.|
|00003900| 0a 0d 0a 09 42 20 3d 20 | 42 6f 74 28 61 50 6c 61 |....B = |Bot(aPla|
|00003910| 79 65 72 29 3b 0d 0a 09 | 69 66 20 28 20 42 20 3d |yer);...|if ( B =|
|00003920| 3d 20 4e 6f 6e 65 20 29 | 0d 0a 09 09 72 65 74 75 |= None )|....retu|
|00003930| 72 6e 20 62 52 65 73 75 | 6c 74 3b 0d 0a 0d 0a 09 |rn bResu|lt;.....|
|00003940| 42 2e 41 6c 74 65 72 6e | 61 74 65 50 61 74 68 20 |B.Altern|atePath |
|00003950| 3d 20 4e 6f 6e 65 3b 0d | 0a 09 0d 0a 09 69 66 20 |= None;.|.....if |
|00003960| 28 20 42 2e 62 50 6f 77 | 65 72 50 6c 61 79 20 7c |( B.bPow|erPlay ||
|00003970| 7c 20 28 42 6f 74 52 65 | 70 6c 69 63 61 74 69 6f || (BotRe|plicatio|
|00003980| 6e 49 6e 66 6f 28 42 2e | 50 6c 61 79 65 72 52 65 |nInfo(B.|PlayerRe|
|00003990| 70 6c 69 63 61 74 69 6f | 6e 49 6e 66 6f 29 2e 52 |plicatio|nInfo).R|
|000039a0| 65 61 6c 4f 72 64 65 72 | 73 20 3d 3d 20 27 44 65 |ealOrder|s == 'De|
|000039b0| 66 65 6e 64 27 29 20 29 | 0d 0a 09 7b 0d 0a 09 09 |fend') )|...{....|
|000039c0| 2f 2f 20 69 66 20 62 6f | 74 20 6f 6e 6c 79 20 74 |// if bo|t only t|
|000039d0| 65 61 6d 20 61 6e 64 20 | 61 6c 72 65 61 64 79 20 |eam and |already |
|000039e0| 6f 6e 65 20 64 65 66 65 | 6e 64 65 72 2c 20 35 30 |one defe|nder, 50|
|000039f0| 25 20 63 68 61 6e 63 65 | 20 6f 66 20 70 6f 77 65 |% chance| of powe|
|00003a00| 72 70 6c 61 79 20 66 6f | 72 20 74 68 69 73 20 67 |rplay fo|r this g|
|00003a10| 75 79 20 69 66 20 64 65 | 66 65 6e 64 65 72 0d 0a |uy if de|fender..|
|00003a20| 09 09 69 66 20 28 20 46 | 52 61 6e 64 28 29 20 3c |..if ( F|Rand() <|
|00003a30| 20 30 2e 35 20 29 0d 0a | 09 09 7b 0d 0a 09 09 09 | 0.5 )..|..{.....|
|00003a40| 42 2e 62 50 6f 77 65 72 | 50 6c 61 79 20 3d 20 66 |B.bPower|Play = f|
|00003a50| 61 6c 73 65 3b 0d 0a 09 | 09 09 42 2e 53 65 74 4f |alse;...|..B.SetO|
|00003a60| 72 64 65 72 73 28 27 44 | 65 66 65 6e 64 27 2c 20 |rders('D|efend', |
|00003a70| 4e 6f 6e 65 2c 20 74 72 | 75 65 29 3b 0d 0a 09 09 |None, tr|ue);....|
|00003a80| 7d 0d 0a 09 09 65 6c 73 | 65 0d 0a 09 09 7b 0d 0a |}....els|e....{..|
|00003a90| 09 09 09 2f 2f 20 63 68 | 65 63 6b 20 66 6f 72 20 |...// ch|eck for |
|00003aa0| 62 6f 74 20 6f 6e 6c 79 | 20 74 65 61 6d 20 61 6e |bot only| team an|
|00003ab0| 64 20 61 6c 72 65 61 64 | 79 20 61 20 76 61 6c 69 |d alread|y a vali|
|00003ac0| 64 20 64 65 66 65 6e 64 | 65 72 0d 0a 09 09 09 66 |d defend|er.....f|
|00003ad0| 6f 72 20 28 20 50 3d 4c | 65 76 65 6c 2e 50 61 77 |or ( P=L|evel.Paw|
|00003ae0| 6e 4c 69 73 74 3b 20 50 | 21 3d 4e 6f 6e 65 3b 20 |nList; P|!=None; |
|00003af0| 50 3d 50 2e 4e 65 78 74 | 50 61 77 6e 20 29 0d 0a |P=P.Next|Pawn )..|
|00003b00| 09 09 09 7b 0d 0a 09 09 | 09 09 69 66 20 28 20 50 |...{....|..if ( P|
|00003b10| 2e 62 49 73 50 6c 61 79 | 65 72 20 26 26 20 28 50 |.bIsPlay|er && (P|
|00003b20| 2e 50 6c 61 79 65 72 52 | 65 70 6c 69 63 61 74 69 |.PlayerR|eplicati|
|00003b30| 6f 6e 49 6e 66 6f 2e 54 | 65 61 6d 20 3d 3d 20 42 |onInfo.T|eam == B|
|00003b40| 2e 50 6c 61 79 65 72 52 | 65 70 6c 69 63 61 74 69 |.PlayerR|eplicati|
|00003b50| 6f 6e 49 6e 66 6f 2e 54 | 65 61 6d 29 20 29 0d 0a |onInfo.T|eam) )..|
|00003b60| 09 09 09 09 7b 0d 0a 09 | 09 09 09 09 69 66 20 28 |....{...|....if (|
|00003b70| 20 50 2e 49 73 41 28 27 | 50 6c 61 79 65 72 50 61 | P.IsA('|PlayerPa|
|00003b80| 77 6e 27 29 20 29 0d 0a | 09 09 09 09 09 7b 0d 0a |wn') )..|.....{..|
|00003b90| 09 09 09 09 09 09 62 50 | 6f 77 65 72 50 6c 61 79 |......bP|owerPlay|
|00003ba0| 20 3d 20 66 61 6c 73 65 | 3b 0d 0a 09 09 09 09 09 | = false|;.......|
|00003bb0| 09 62 72 65 61 6b 3b 0d | 0a 09 09 09 09 09 7d 0d |.break;.|......}.|
|00003bc0| 0a 09 09 09 09 09 65 6c | 73 65 20 69 66 20 28 20 |......el|se if ( |
|00003bd0| 50 2e 49 73 41 28 27 42 | 6f 74 27 29 20 26 26 20 |P.IsA('B|ot') && |
|00003be0| 28 42 6f 74 28 50 29 2e | 4f 72 64 65 72 73 20 3d |(Bot(P).|Orders =|
|00003bf0| 3d 20 27 44 65 66 65 6e | 64 27 29 20 29 0d 0a 09 |= 'Defen|d') )...|
|00003c00| 09 09 09 09 09 62 50 6f | 77 65 72 50 6c 61 79 20 |.....bPo|werPlay |
|00003c10| 3d 20 74 72 75 65 3b 0d | 0a 09 09 09 09 7d 0d 0a |= true;.|.....}..|
|00003c20| 09 09 09 7d 0d 0a 09 09 | 09 69 66 20 28 20 62 50 |...}....|.if ( bP|
|00003c30| 6f 77 65 72 50 6c 61 79 | 20 29 0d 0a 09 09 09 7b |owerPlay| ).....{|
|00003c40| 0d 0a 09 09 09 09 42 2e | 62 50 6f 77 65 72 50 6c |......B.|bPowerPl|
|00003c50| 61 79 20 3d 20 74 72 75 | 65 3b 0d 0a 09 09 09 09 |ay = tru|e;......|
|00003c60| 42 2e 53 65 74 4f 72 64 | 65 72 73 28 27 41 74 74 |B.SetOrd|ers('Att|
|00003c70| 61 63 6b 27 2c 20 4e 6f | 6e 65 2c 20 74 72 75 65 |ack', No|ne, true|
|00003c80| 29 3b 0d 0a 09 09 09 7d | 0d 0a 09 09 7d 0d 0a 09 |);.....}|....}...|
|00003c90| 7d 0d 0a 0d 0a 09 69 66 | 20 28 20 42 6f 74 52 65 |}.....if| ( BotRe|
|00003ca0| 70 6c 69 63 61 74 69 6f | 6e 49 6e 66 6f 28 42 2e |plicatio|nInfo(B.|
|00003cb0| 50 6c 61 79 65 72 52 65 | 70 6c 69 63 61 74 69 6f |PlayerRe|plicatio|
|00003cc0| 6e 49 6e 66 6f 29 2e 52 | 65 61 6c 4f 72 64 65 72 |nInfo).R|ealOrder|
|00003cd0| 73 20 21 3d 20 27 41 74 | 74 61 63 6b 27 20 29 0d |s != 'At|tack' ).|
|00003ce0| 0a 09 09 72 65 74 75 72 | 6e 20 62 52 65 73 75 6c |...retur|n bResul|
|00003cf0| 74 3b 0d 0a 0d 0a 09 69 | 66 20 28 20 46 52 61 6e |t;.....i|f ( FRan|
|00003d00| 64 28 29 20 3c 20 30 2e | 38 20 29 0d 0a 09 7b 0d |d() < 0.|8 )...{.|
|00003d10| 0a 09 09 66 6f 72 20 28 | 20 4e 3d 4c 65 76 65 6c |...for (| N=Level|
|00003d20| 2e 4e 61 76 69 67 61 74 | 69 6f 6e 50 6f 69 6e 74 |.Navigat|ionPoint|
|00003d30| 4c 69 73 74 3b 20 4e 21 | 3d 4e 6f 6e 65 3b 20 4e |List; N!|=None; N|
|00003d40| 3d 4e 2e 6e 65 78 74 4e | 61 76 69 67 61 74 69 6f |=N.nextN|avigatio|
|00003d50| 6e 50 6f 69 6e 74 20 29 | 0d 0a 09 09 09 69 66 20 |nPoint )|.....if |
|00003d60| 28 20 4e 2e 49 73 41 28 | 27 41 6c 74 65 72 6e 61 |( N.IsA(|'Alterna|
|00003d70| 74 65 50 61 74 68 27 29 | 20 26 26 20 28 41 6c 74 |tePath')| && (Alt|
|00003d80| 65 72 6e 61 74 65 50 61 | 74 68 28 4e 29 2e 74 65 |ernatePa|th(N).te|
|00003d90| 61 6d 20 21 3d 20 42 2e | 50 6c 61 79 65 72 52 65 |am != B.|PlayerRe|
|00003da0| 70 6c 69 63 61 74 69 6f | 6e 49 6e 66 6f 2e 74 65 |plicatio|nInfo.te|
|00003db0| 61 6d 29 0d 0a 09 09 09 | 09 26 26 20 21 41 6c 74 |am).....|.&& !Alt|
|00003dc0| 65 72 6e 61 74 65 50 61 | 74 68 28 4e 29 2e 62 52 |ernatePa|th(N).bR|
|00003dd0| 65 74 75 72 6e 4f 6e 6c | 79 20 29 0d 0a 09 09 09 |eturnOnl|y ).....|
|00003de0| 09 54 6f 74 61 6c 57 65 | 69 67 68 74 20 2b 3d 20 |.TotalWe|ight += |
|00003df0| 41 6c 74 65 72 6e 61 74 | 65 50 61 74 68 28 4e 29 |Alternat|ePath(N)|
|00003e00| 2e 53 65 6c 65 63 74 69 | 6f 6e 57 65 69 67 68 74 |.Selecti|onWeight|
|00003e10| 3b 0d 0a 09 09 73 65 6c | 65 63 74 69 6f 6e 20 3d |;....sel|ection =|
|00003e20| 20 46 52 61 6e 64 28 29 | 20 2a 20 54 6f 74 61 6c | FRand()| * Total|
|00003e30| 57 65 69 67 68 74 3b 0d | 0a 09 09 66 6f 72 20 28 |Weight;.|...for (|
|00003e40| 20 4e 3d 4c 65 76 65 6c | 2e 4e 61 76 69 67 61 74 | N=Level|.Navigat|
|00003e50| 69 6f 6e 50 6f 69 6e 74 | 4c 69 73 74 3b 20 4e 21 |ionPoint|List; N!|
|00003e60| 3d 4e 6f 6e 65 3b 20 4e | 3d 4e 2e 6e 65 78 74 4e |=None; N|=N.nextN|
|00003e70| 61 76 69 67 61 74 69 6f | 6e 50 6f 69 6e 74 20 29 |avigatio|nPoint )|
|00003e80| 0d 0a 09 09 09 69 66 20 | 28 20 4e 2e 49 73 41 28 |.....if |( N.IsA(|
|00003e90| 27 41 6c 74 65 72 6e 61 | 74 65 50 61 74 68 27 29 |'Alterna|tePath')|
|00003ea0| 20 26 26 20 28 41 6c 74 | 65 72 6e 61 74 65 50 61 | && (Alt|ernatePa|
|00003eb0| 74 68 28 4e 29 2e 74 65 | 61 6d 20 21 3d 20 42 2e |th(N).te|am != B.|
|00003ec0| 50 6c 61 79 65 72 52 65 | 70 6c 69 63 61 74 69 6f |PlayerRe|plicatio|
|00003ed0| 6e 49 6e 66 6f 2e 74 65 | 61 6d 29 20 29 0d 0a 09 |nInfo.te|am) )...|
|00003ee0| 09 09 7b 0d 0a 09 09 09 | 09 42 2e 41 6c 74 65 72 |..{.....|.B.Alter|
|00003ef0| 6e 61 74 65 50 61 74 68 | 20 3d 20 41 6c 74 65 72 |natePath| = Alter|
|00003f00| 6e 61 74 65 50 61 74 68 | 28 4e 29 3b 0d 0a 09 09 |natePath|(N);....|
|00003f10| 09 09 50 61 72 74 69 61 | 6c 57 65 69 67 68 74 20 |..Partia|lWeight |
|00003f20| 2b 3d 20 41 6c 74 65 72 | 6e 61 74 65 50 61 74 68 |+= Alter|natePath|
|00003f30| 28 4e 29 2e 53 65 6c 65 | 63 74 69 6f 6e 57 65 69 |(N).Sele|ctionWei|
|00003f40| 67 68 74 3b 0d 0a 09 09 | 09 09 69 66 20 28 20 50 |ght;....|..if ( P|
|00003f50| 61 72 74 69 61 6c 57 65 | 69 67 68 74 20 3e 20 73 |artialWe|ight > s|
|00003f60| 65 6c 65 63 74 69 6f 6e | 20 29 0d 0a 09 09 09 09 |election| )......|
|00003f70| 09 62 72 65 61 6b 3b 0d | 0a 09 09 09 7d 0d 0a 09 |.break;.|....}...|
|00003f80| 7d 0d 0a 09 72 65 74 75 | 72 6e 20 62 52 65 73 75 |}...retu|rn bResu|
|00003f90| 6c 74 3b 0d 0a 7d 0d 0a | 0d 0a 66 75 6e 63 74 69 |lt;..}..|..functi|
|00003fa0| 6f 6e 20 53 65 74 42 6f | 74 4f 72 64 65 72 73 28 |on SetBo|tOrders(|
|00003fb0| 42 6f 74 20 4e 65 77 42 | 6f 74 29 0d 0a 7b 0d 0a |Bot NewB|ot)..{..|
|00003fc0| 09 6c 6f 63 61 6c 20 50 | 61 77 6e 20 50 2c 20 4c |.local P|awn P, L|
|00003fd0| 2c 20 4d 3b 0d 0a 09 6c | 6f 63 61 6c 20 69 6e 74 |, M;...l|ocal int|
|00003fe0| 20 6e 75 6d 3b 0d 0a 09 | 6c 6f 63 61 6c 20 62 6f | num;...|local bo|
|00003ff0| 6f 6c 20 62 41 76 61 69 | 6c 61 62 6c 65 3b 0d 0a |ol bAvai|lable;..|
|00004000| 0d 0a 09 69 66 20 28 20 | 43 75 72 72 65 6e 74 4f |...if ( |CurrentO|
|00004010| 72 64 65 72 73 5b 4e 65 | 77 42 6f 74 2e 50 6c 61 |rders[Ne|wBot.Pla|
|00004020| 79 65 72 52 65 70 6c 69 | 63 61 74 69 6f 6e 49 6e |yerRepli|cationIn|
|00004030| 66 6f 2e 54 65 61 6d 5d | 20 3d 3d 20 27 46 72 65 |fo.Team]| == 'Fre|
|00004040| 65 6c 61 6e 63 65 27 20 | 29 0d 0a 09 09 43 75 72 |elance' |)....Cur|
|00004050| 72 65 6e 74 4f 72 64 65 | 72 73 5b 4e 65 77 42 6f |rentOrde|rs[NewBo|
|00004060| 74 2e 50 6c 61 79 65 72 | 52 65 70 6c 69 63 61 74 |t.Player|Replicat|
|00004070| 69 6f 6e 49 6e 66 6f 2e | 54 65 61 6d 5d 20 3d 20 |ionInfo.|Team] = |
|00004080| 27 41 74 74 61 63 6b 27 | 3b 0d 0a 09 65 6c 73 65 |'Attack'|;...else|
|00004090| 20 69 66 20 28 20 43 75 | 72 72 65 6e 74 4f 72 64 | if ( Cu|rrentOrd|
|000040a0| 65 72 73 5b 4e 65 77 42 | 6f 74 2e 50 6c 61 79 65 |ers[NewB|ot.Playe|
|000040b0| 72 52 65 70 6c 69 63 61 | 74 69 6f 6e 49 6e 66 6f |rReplica|tionInfo|
|000040c0| 2e 54 65 61 6d 5d 20 3d | 3d 20 27 44 65 66 65 6e |.Team] =|= 'Defen|
|000040d0| 64 27 20 29 0d 0a 09 09 | 43 75 72 72 65 6e 74 4f |d' )....|CurrentO|
|000040e0| 72 64 65 72 73 5b 4e 65 | 77 42 6f 74 2e 50 6c 61 |rders[Ne|wBot.Pla|
|000040f0| 79 65 72 52 65 70 6c 69 | 63 61 74 69 6f 6e 49 6e |yerRepli|cationIn|
|00004100| 66 6f 2e 54 65 61 6d 5d | 20 3d 20 27 46 72 65 65 |fo.Team]| = 'Free|
|00004110| 6c 61 6e 63 65 27 3b 0d | 0a 09 65 6c 73 65 20 0d |lance';.|..else .|
|00004120| 0a 09 7b 0d 0a 09 09 43 | 75 72 72 65 6e 74 4f 72 |..{....C|urrentOr|
|00004130| 64 65 72 73 5b 4e 65 77 | 42 6f 74 2e 50 6c 61 79 |ders[New|Bot.Play|
|00004140| 65 72 52 65 70 6c 69 63 | 61 74 69 6f 6e 49 6e 66 |erReplic|ationInf|
|00004150| 6f 2e 54 65 61 6d 5d 20 | 3d 20 27 44 65 66 65 6e |o.Team] |= 'Defen|
|00004160| 64 27 3b 09 09 0d 0a 09 | 09 69 66 20 28 20 62 4e |d';.....|.if ( bN|
|00004170| 6f 76 69 63 65 4d 6f 64 | 65 20 29 0d 0a 09 09 09 |oviceMod|e ).....|
|00004180| 66 6f 72 20 28 20 50 3d | 4c 65 76 65 6c 2e 50 61 |for ( P=|Level.Pa|
|00004190| 77 6e 4c 69 73 74 3b 20 | 50 21 3d 4e 6f 6e 65 3b |wnList; |P!=None;|
|000041a0| 20 50 3d 20 50 2e 4e 65 | 78 74 50 61 77 6e 20 29 | P= P.Ne|xtPawn )|
|000041b0| 0d 0a 09 09 09 09 69 66 | 20 28 20 50 2e 62 49 73 |......if| ( P.bIs|
|000041c0| 50 6c 61 79 65 72 20 26 | 26 20 28 50 20 21 3d 20 |Player &|& (P != |
|000041d0| 4e 65 77 42 6f 74 29 20 | 26 26 20 28 50 2e 50 6c |NewBot) |&& (P.Pl|
|000041e0| 61 79 65 72 52 65 70 6c | 69 63 61 74 69 6f 6e 49 |ayerRepl|icationI|
|000041f0| 6e 66 6f 2e 54 65 61 6d | 20 3d 3d 20 4e 65 77 42 |nfo.Team| == NewB|
|00004200| 6f 74 2e 50 6c 61 79 65 | 72 52 65 70 6c 69 63 61 |ot.Playe|rReplica|
|00004210| 74 69 6f 6e 49 6e 66 6f | 2e 54 65 61 6d 29 0d 0a |tionInfo|.Team)..|
|00004220| 09 09 09 09 09 26 26 20 | 50 2e 49 73 41 28 27 42 |.....&& |P.IsA('B|
|00004230| 6f 74 27 29 20 26 26 20 | 28 42 6f 74 52 65 70 6c |ot') && |(BotRepl|
|00004240| 69 63 61 74 69 6f 6e 49 | 6e 66 6f 28 50 2e 50 6c |icationI|nfo(P.Pl|
|00004250| 61 79 65 72 52 65 70 6c | 69 63 61 74 69 6f 6e 49 |ayerRepl|icationI|
|00004260| 6e 66 6f 29 2e 52 65 61 | 6c 4f 72 64 65 72 73 20 |nfo).Rea|lOrders |
|00004270| 3d 3d 20 27 44 65 66 65 | 6e 64 27 29 20 26 26 20 |== 'Defe|nd') && |
|00004280| 28 46 52 61 6e 64 28 29 | 20 3c 20 30 2e 35 29 20 |(FRand()| < 0.5) |
|00004290| 29 0d 0a 09 09 09 09 09 | 7b 09 0d 0a 09 09 09 09 |).......|{.......|
|000042a0| 09 09 43 75 72 72 65 6e | 74 4f 72 64 65 72 73 5b |..Curren|tOrders[|
|000042b0| 4e 65 77 42 6f 74 2e 50 | 6c 61 79 65 72 52 65 70 |NewBot.P|layerRep|
|000042c0| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 2e 54 65 61 |lication|Info.Tea|
|000042d0| 6d 5d 20 3d 20 27 41 74 | 74 61 63 6b 27 3b 0d 0a |m] = 'At|tack';..|
|000042e0| 09 09 09 09 09 09 62 72 | 65 61 6b 3b 0d 0a 09 09 |......br|eak;....|
|000042f0| 09 09 09 7d 0d 0a 09 7d | 09 09 0d 0a 0d 0a 09 69 |...}...}|.......i|
|00004300| 66 20 28 20 28 28 43 75 | 72 72 65 6e 74 4f 72 64 |f ( ((Cu|rrentOrd|
|00004310| 65 72 73 5b 4e 65 77 42 | 6f 74 2e 50 6c 61 79 65 |ers[NewB|ot.Playe|
|00004320| 72 52 65 70 6c 69 63 61 | 74 69 6f 6e 49 6e 66 6f |rReplica|tionInfo|
|00004330| 2e 54 65 61 6d 5d 20 3d | 3d 20 27 41 74 74 61 63 |.Team] =|= 'Attac|
|00004340| 6b 27 29 20 7c 7c 20 28 | 43 75 72 72 65 6e 74 4f |k') || (|CurrentO|
|00004350| 72 64 65 72 73 5b 4e 65 | 77 42 6f 74 2e 50 6c 61 |rders[Ne|wBot.Pla|
|00004360| 79 65 72 52 65 70 6c 69 | 63 61 74 69 6f 6e 49 6e |yerRepli|cationIn|
|00004370| 66 6f 2e 54 65 61 6d 5d | 20 3d 3d 20 27 46 72 65 |fo.Team]| == 'Fre|
|00004380| 65 6c 61 6e 63 65 27 29 | 29 09 0d 0a 09 09 26 26 |elance')|).....&&|
|00004390| 20 28 4e 75 6d 53 75 70 | 70 6f 72 74 69 6e 67 50 | (NumSup|portingP|
|000043a0| 6c 61 79 65 72 20 3d 3d | 20 30 29 20 29 0d 0a 09 |layer ==| 0) )...|
|000043b0| 7b 0d 0a 09 09 46 6f 72 | 20 28 20 50 3d 4c 65 76 |{....For| ( P=Lev|
|000043c0| 65 6c 2e 50 61 77 6e 4c | 69 73 74 3b 20 50 21 3d |el.PawnL|ist; P!=|
|000043d0| 4e 6f 6e 65 3b 20 50 3d | 50 2e 4e 65 78 74 50 61 |None; P=|P.NextPa|
|000043e0| 77 6e 20 29 0d 0a 09 09 | 09 69 66 20 28 20 50 2e |wn )....|.if ( P.|
|000043f0| 49 73 41 28 27 50 6c 61 | 79 65 72 50 61 77 6e 27 |IsA('Pla|yerPawn'|
|00004400| 29 20 26 26 20 28 50 2e | 50 6c 61 79 65 72 52 65 |) && (P.|PlayerRe|
|00004410| 70 6c 69 63 61 74 69 6f | 6e 49 6e 66 6f 2e 54 65 |plicatio|nInfo.Te|
|00004420| 61 6d 20 3d 3d 20 4e 65 | 77 42 6f 74 2e 50 6c 61 |am == Ne|wBot.Pla|
|00004430| 79 65 72 52 65 70 6c 69 | 63 61 74 69 6f 6e 49 6e |yerRepli|cationIn|
|00004440| 66 6f 2e 54 65 61 6d 29 | 0d 0a 09 09 09 09 26 26 |fo.Team)|......&&|
|00004450| 20 21 50 2e 49 73 41 28 | 27 53 70 65 63 74 61 74 | !P.IsA(|'Spectat|
|00004460| 6f 72 27 29 20 29 0d 0a | 09 09 7b 0d 0a 09 09 09 |or') )..|..{.....|
|00004470| 6e 75 6d 2b 2b 3b 0d 0a | 09 09 09 69 66 20 28 20 |num++;..|...if ( |
|00004480| 28 4c 20 3d 3d 20 4e 6f | 6e 65 29 20 7c 7c 20 28 |(L == No|ne) || (|
|00004490| 46 52 61 6e 64 28 29 20 | 3c 20 31 2e 30 2f 66 6c |FRand() |< 1.0/fl|
|000044a0| 6f 61 74 28 6e 75 6d 29 | 29 20 29 0d 0a 09 09 09 |oat(num)|) ).....|
|000044b0| 09 4c 20 3d 20 50 3b 0d | 0a 09 09 7d 0d 0a 0d 0a |.L = P;.|...}....|
|000044c0| 09 09 69 66 20 28 20 4c | 20 21 3d 20 4e 6f 6e 65 |..if ( L| != None|
|000044d0| 20 29 0d 0a 09 09 7b 0d | 0a 09 09 09 4e 75 6d 53 | )....{.|....NumS|
|000044e0| 75 70 70 6f 72 74 69 6e | 67 50 6c 61 79 65 72 2b |upportin|gPlayer+|
|000044f0| 2b 3b 0d 0a 09 09 09 4e | 65 77 42 6f 74 2e 53 65 |+;.....N|ewBot.Se|
|00004500| 74 4f 72 64 65 72 73 28 | 27 46 6f 6c 6c 6f 77 27 |tOrders(|'Follow'|
|00004510| 2c 4c 2c 20 74 72 75 65 | 29 3b 0d 0a 09 09 09 72 |,L, true|);.....r|
|00004520| 65 74 75 72 6e 3b 0d 0a | 09 09 7d 0d 0a 09 09 65 |eturn;..|..}....e|
|00004530| 6c 73 65 20 69 66 20 28 | 20 46 52 61 6e 64 28 29 |lse if (| FRand()|
|00004540| 20 3c 20 30 2e 38 20 29 | 0d 0a 09 09 7b 0d 0a 09 | < 0.8 )|....{...|
|00004550| 09 09 2f 2f 20 6e 6f 20 | 70 6c 61 79 65 72 73 20 |..// no |players |
|00004560| 6f 6e 20 74 68 69 73 20 | 74 65 61 6d 20 2d 20 70 |on this |team - p|
|00004570| 6f 73 73 69 62 6c 79 20 | 73 75 70 70 6f 72 74 20 |ossibly |support |
|00004580| 6f 74 68 65 72 20 62 6f | 74 0d 0a 09 09 09 6e 75 |other bo|t.....nu|
|00004590| 6d 20 3d 20 30 3b 0d 0a | 09 09 09 46 6f 72 20 28 |m = 0;..|...For (|
|000045a0| 20 50 3d 4c 65 76 65 6c | 2e 50 61 77 6e 4c 69 73 | P=Level|.PawnLis|
|000045b0| 74 3b 20 50 21 3d 4e 6f | 6e 65 3b 20 50 3d 50 2e |t; P!=No|ne; P=P.|
|000045c0| 4e 65 78 74 50 61 77 6e | 20 29 0d 0a 09 09 09 09 |NextPawn| )......|
|000045d0| 69 66 20 28 20 50 2e 49 | 73 41 28 27 42 6f 74 27 |if ( P.I|sA('Bot'|
|000045e0| 29 20 26 26 20 28 50 2e | 50 6c 61 79 65 72 52 65 |) && (P.|PlayerRe|
|000045f0| 70 6c 69 63 61 74 69 6f | 6e 49 6e 66 6f 2e 54 65 |plicatio|nInfo.Te|
|00004600| 61 6d 20 3d 3d 20 4e 65 | 77 42 6f 74 2e 50 6c 61 |am == Ne|wBot.Pla|
|00004610| 79 65 72 52 65 70 6c 69 | 63 61 74 69 6f 6e 49 6e |yerRepli|cationIn|
|00004620| 66 6f 2e 54 65 61 6d 29 | 20 0d 0a 09 09 09 09 09 |fo.Team)| .......|
|00004630| 26 26 20 28 42 6f 74 28 | 50 29 2e 4f 72 64 65 72 |&& (Bot(|P).Order|
|00004640| 73 20 3d 3d 20 27 41 74 | 74 61 63 6b 27 29 20 29 |s == 'At|tack') )|
|00004650| 0d 0a 09 09 09 7b 0d 0a | 09 09 09 09 6e 75 6d 2b |.....{..|....num+|
|00004660| 2b 3b 0d 0a 09 09 09 09 | 69 66 20 28 20 28 4c 20 |+;......|if ( (L |
|00004670| 3d 3d 20 4e 6f 6e 65 29 | 20 7c 7c 20 28 46 52 61 |== None)| || (FRa|
|00004680| 6e 64 28 29 20 3c 20 31 | 2e 30 2f 66 6c 6f 61 74 |nd() < 1|.0/float|
|00004690| 28 6e 75 6d 29 29 20 29 | 0d 0a 09 09 09 09 7b 0d |(num)) )|......{.|
|000046a0| 0a 09 09 09 09 09 2f 2f | 20 6d 61 6b 65 20 73 75 |......//| make su|
|000046b0| 72 65 20 50 20 64 6f 65 | 73 6e 27 74 20 61 6c 72 |re P doe|sn't alr|
|000046c0| 65 61 64 79 20 68 61 76 | 65 20 61 20 66 6f 6c 6c |eady hav|e a foll|
|000046d0| 6f 77 65 72 0d 0a 09 09 | 09 09 09 62 41 76 61 69 |ower....|...bAvai|
|000046e0| 6c 61 62 6c 65 20 3d 20 | 74 72 75 65 3b 0d 0a 09 |lable = |true;...|
|000046f0| 09 09 09 09 66 6f 72 20 | 28 20 4d 3d 4c 65 76 65 |....for |( M=Leve|
|00004700| 6c 2e 50 61 77 6e 4c 69 | 73 74 3b 20 4d 21 3d 4e |l.PawnLi|st; M!=N|
|00004710| 6f 6e 65 3b 20 4d 3d 4d | 2e 4e 65 78 74 50 61 77 |one; M=M|.NextPaw|
|00004720| 6e 20 29 0d 0a 09 09 09 | 09 09 09 69 66 20 28 20 |n ).....|...if ( |
|00004730| 4d 2e 49 73 41 28 27 42 | 6f 74 27 29 20 26 26 20 |M.IsA('B|ot') && |
|00004740| 28 4d 2e 50 6c 61 79 65 | 72 52 65 70 6c 69 63 61 |(M.Playe|rReplica|
|00004750| 74 69 6f 6e 49 6e 66 6f | 2e 54 65 61 6d 20 3d 3d |tionInfo|.Team ==|
|00004760| 20 4e 65 77 42 6f 74 2e | 50 6c 61 79 65 72 52 65 | NewBot.|PlayerRe|
|00004770| 70 6c 69 63 61 74 69 6f | 6e 49 6e 66 6f 2e 54 65 |plicatio|nInfo.Te|
|00004780| 61 6d 29 20 0d 0a 09 09 | 09 09 09 09 09 26 26 20 |am) ....|.....&& |
|00004790| 28 42 6f 74 28 4d 29 2e | 4f 72 64 65 72 73 20 3d |(Bot(M).|Orders =|
|000047a0| 3d 20 27 46 6f 6c 6c 6f | 77 27 29 20 26 26 20 28 |= 'Follo|w') && (|
|000047b0| 42 6f 74 28 4d 29 2e 4f | 72 64 65 72 4f 62 6a 65 |Bot(M).O|rderObje|
|000047c0| 63 74 20 3d 3d 20 50 29 | 20 29 0d 0a 09 09 09 09 |ct == P)| )......|
|000047d0| 09 09 09 62 41 76 61 69 | 6c 61 62 6c 65 20 3d 20 |...bAvai|lable = |
|000047e0| 66 61 6c 73 65 3b 0d 0a | 09 09 09 09 09 69 66 20 |false;..|.....if |
|000047f0| 28 20 62 41 76 61 69 6c | 61 62 6c 65 20 29 0d 0a |( bAvail|able )..|
|00004800| 09 09 09 09 09 09 4c 20 | 3d 20 50 3b 0d 0a 09 09 |......L |= P;....|
|00004810| 09 09 7d 0d 0a 09 09 09 | 7d 0d 0a 0d 0a 09 09 09 |..}.....|}.......|
|00004820| 69 66 20 28 20 4c 20 21 | 3d 20 4e 6f 6e 65 20 29 |if ( L !|= None )|
|00004830| 0d 0a 09 09 09 7b 0d 0a | 09 09 09 09 4e 65 77 42 |.....{..|....NewB|
|00004840| 6f 74 2e 53 65 74 4f 72 | 64 65 72 73 28 27 46 6f |ot.SetOr|ders('Fo|
|00004850| 6c 6c 6f 77 27 2c 4c 2c | 20 74 72 75 65 29 3b 0d |llow',L,| true);.|
|00004860| 0a 09 09 09 09 72 65 74 | 75 72 6e 3b 0d 0a 09 09 |.....ret|urn;....|
|00004870| 09 7d 0d 0a 09 09 7d 0d | 0a 09 7d 0d 0a 09 0d 0a |.}....}.|..}.....|
|00004880| 09 69 66 20 28 20 43 75 | 72 72 65 6e 74 4f 72 64 |.if ( Cu|rrentOrd|
|00004890| 65 72 73 5b 4e 65 77 42 | 6f 74 2e 50 6c 61 79 65 |ers[NewB|ot.Playe|
|000048a0| 72 52 65 70 6c 69 63 61 | 74 69 6f 6e 49 6e 66 6f |rReplica|tionInfo|
|000048b0| 2e 54 65 61 6d 5d 20 3d | 3d 20 27 46 72 65 65 6c |.Team] =|= 'Freel|
|000048c0| 61 6e 63 65 27 20 29 0d | 0a 09 09 4e 65 77 42 6f |ance' ).|...NewBo|
|000048d0| 74 2e 53 65 74 4f 72 64 | 65 72 73 28 27 41 74 74 |t.SetOrd|ers('Att|
|000048e0| 61 63 6b 27 2c 20 4e 6f | 6e 65 2c 20 74 72 75 65 |ack', No|ne, true|
|000048f0| 29 3b 0d 0a 09 65 6c 73 | 65 09 0d 0a 09 09 4e 65 |);...els|e.....Ne|
|00004900| 77 42 6f 74 2e 53 65 74 | 4f 72 64 65 72 73 28 43 |wBot.Set|Orders(C|
|00004910| 75 72 72 65 6e 74 4f 72 | 64 65 72 73 5b 4e 65 77 |urrentOr|ders[New|
|00004920| 42 6f 74 2e 50 6c 61 79 | 65 72 52 65 70 6c 69 63 |Bot.Play|erReplic|
|00004930| 61 74 69 6f 6e 49 6e 66 | 6f 2e 54 65 61 6d 5d 2c |ationInf|o.Team],|
|00004940| 20 4e 6f 6e 65 2c 20 74 | 72 75 65 29 3b 0d 0a 7d | None, t|rue);..}|
|00004950| 0d 0a 0d 0a 2f 2f 20 41 | 6c 6c 6f 77 54 72 61 6e |....// A|llowTran|
|00004960| 73 6c 6f 63 61 74 69 6f | 6e 20 2d 20 72 65 74 75 |slocatio|n - retu|
|00004970| 72 6e 20 74 72 75 65 20 | 69 66 20 4f 74 68 65 72 |rn true |if Other|
|00004980| 20 63 61 6e 20 74 65 6c | 65 70 6f 72 74 20 74 6f | can tel|eport to|
|00004990| 20 44 65 73 74 0d 0a 66 | 75 6e 63 74 69 6f 6e 20 | Dest..f|unction |
|000049a0| 62 6f 6f 6c 20 41 6c 6c | 6f 77 54 72 61 6e 73 6c |bool All|owTransl|
|000049b0| 6f 63 61 74 69 6f 6e 28 | 50 61 77 6e 20 4f 74 68 |ocation(|Pawn Oth|
|000049c0| 65 72 2c 20 76 65 63 74 | 6f 72 20 44 65 73 74 20 |er, vect|or Dest |
|000049d0| 29 0d 0a 7b 0d 0a 09 69 | 66 20 28 20 4f 74 68 65 |)..{...i|f ( Othe|
|000049e0| 72 2e 50 6c 61 79 65 72 | 52 65 70 6c 69 63 61 74 |r.Player|Replicat|
|000049f0| 69 6f 6e 49 6e 66 6f 2e | 48 61 73 46 6c 61 67 20 |ionInfo.|HasFlag |
|00004a00| 21 3d 20 4e 6f 6e 65 20 | 29 0d 0a 09 09 43 54 46 |!= None |)....CTF|
|00004a10| 46 6c 61 67 28 4f 74 68 | 65 72 2e 50 6c 61 79 65 |Flag(Oth|er.Playe|
|00004a20| 72 52 65 70 6c 69 63 61 | 74 69 6f 6e 49 6e 66 6f |rReplica|tionInfo|
|00004a30| 2e 48 61 73 46 6c 61 67 | 29 2e 44 72 6f 70 28 30 |.HasFlag|).Drop(0|
|00004a40| 2e 35 20 2a 20 4f 74 68 | 65 72 2e 56 65 6c 6f 63 |.5 * Oth|er.Veloc|
|00004a50| 69 74 79 29 3b 0d 0a 0d | 0a 09 72 65 74 75 72 6e |ity);...|..return|
|00004a60| 20 74 72 75 65 3b 0d 0a | 7d 0d 0a 0d 0a 2f 2f 20 | true;..|}....// |
|00004a70| 53 68 6f 75 6c 64 54 72 | 61 6e 73 6c 6f 63 61 74 |ShouldTr|anslocat|
|00004a80| 65 20 2d 20 72 65 74 75 | 72 6e 20 74 72 75 65 20 |e - retu|rn true |
|00004a90| 69 66 20 61 62 6f 74 20 | 73 68 6f 75 6c 64 20 75 |if abot |should u|
|00004aa0| 73 65 20 74 72 61 6e 73 | 6c 6f 63 61 74 69 6f 6e |se trans|location|
|00004ab0| 0d 0a 66 75 6e 63 74 69 | 6f 6e 20 62 6f 6f 6c 20 |..functi|on bool |
|00004ac0| 43 61 6e 54 72 61 6e 73 | 6c 6f 63 61 74 65 28 42 |CanTrans|locate(B|
|00004ad0| 6f 74 20 61 42 6f 74 29 | 0d 0a 7b 0d 0a 09 69 66 |ot aBot)|..{...if|
|00004ae0| 20 28 20 61 42 6f 74 2e | 50 6c 61 79 65 72 52 65 | ( aBot.|PlayerRe|
|00004af0| 70 6c 69 63 61 74 69 6f | 6e 49 6e 66 6f 2e 48 61 |plicatio|nInfo.Ha|
|00004b00| 73 46 6c 61 67 20 21 3d | 20 4e 6f 6e 65 20 29 0d |sFlag !=| None ).|
|00004b10| 0a 09 09 72 65 74 75 72 | 6e 20 66 61 6c 73 65 3b |...retur|n false;|
|00004b20| 0d 0a 0d 0a 09 72 65 74 | 75 72 6e 20 53 75 70 65 |.....ret|urn Supe|
|00004b30| 72 2e 43 61 6e 54 72 61 | 6e 73 6c 6f 63 61 74 65 |r.CanTra|nslocate|
|00004b40| 28 61 42 6f 74 29 3b 0d | 0a 7d 0d 0a 0d 0a 66 75 |(aBot);.|.}....fu|
|00004b50| 6e 63 74 69 6f 6e 20 69 | 6e 74 20 52 65 64 75 63 |nction i|nt Reduc|
|00004b60| 65 44 61 6d 61 67 65 28 | 69 6e 74 20 44 61 6d 61 |eDamage(|int Dama|
|00004b70| 67 65 2c 20 6e 61 6d 65 | 20 44 61 6d 61 67 65 54 |ge, name| DamageT|
|00004b80| 79 70 65 2c 20 70 61 77 | 6e 20 69 6e 6a 75 72 65 |ype, paw|n injure|
|00004b90| 64 2c 20 70 61 77 6e 20 | 69 6e 73 74 69 67 61 74 |d, pawn |instigat|
|00004ba0| 65 64 42 79 29 0d 0a 7b | 0d 0a 09 69 66 20 28 20 |edBy)..{|...if ( |
|00004bb0| 28 69 6e 73 74 69 67 61 | 74 65 64 42 79 20 21 3d |(instiga|tedBy !=|
|00004bc0| 20 4e 6f 6e 65 29 20 0d | 0a 09 09 26 26 20 28 69 | None) .|...&& (i|
|00004bd0| 6e 6a 75 72 65 64 2e 50 | 6c 61 79 65 72 52 65 70 |njured.P|layerRep|
|00004be0| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 2e 54 65 61 |lication|Info.Tea|
|00004bf0| 6d 20 21 3d 20 69 6e 73 | 74 69 67 61 74 65 64 42 |m != ins|tigatedB|
|00004c00| 79 2e 50 6c 61 79 65 72 | 52 65 70 6c 69 63 61 74 |y.Player|Replicat|
|00004c10| 69 6f 6e 49 6e 66 6f 2e | 54 65 61 6d 29 0d 0a 09 |ionInfo.|Team)...|
|00004c20| 09 26 26 20 69 6e 6a 75 | 72 65 64 2e 49 73 41 28 |.&& inju|red.IsA(|
|00004c30| 27 42 6f 74 27 29 20 0d | 0a 09 09 26 26 20 28 28 |'Bot') .|...&& ((|
|00004c40| 69 6e 6a 75 72 65 64 2e | 68 65 61 6c 74 68 20 3c |injured.|health <|
|00004c50| 20 33 35 29 20 7c 7c 20 | 28 69 6e 6a 75 72 65 64 | 35) || |(injured|
|00004c60| 2e 50 6c 61 79 65 72 52 | 65 70 6c 69 63 61 74 69 |.PlayerR|eplicati|
|00004c70| 6f 6e 49 6e 66 6f 2e 48 | 61 73 46 6c 61 67 20 21 |onInfo.H|asFlag !|
|00004c80| 3d 20 4e 6f 6e 65 29 29 | 20 29 0d 0a 09 09 09 42 |= None))| ).....B|
|00004c90| 6f 74 28 69 6e 6a 75 72 | 65 64 29 2e 53 65 6e 64 |ot(injur|ed).Send|
|00004ca0| 54 65 61 6d 4d 65 73 73 | 61 67 65 28 4e 6f 6e 65 |TeamMess|age(None|
|00004cb0| 2c 20 27 4f 54 48 45 52 | 27 2c 20 34 2c 20 31 35 |, 'OTHER|', 4, 15|
|00004cc0| 29 3b 0d 0a 0d 0a 09 72 | 65 74 75 72 6e 20 53 75 |);.....r|eturn Su|
|00004cd0| 70 65 72 2e 52 65 64 75 | 63 65 44 61 6d 61 67 65 |per.Redu|ceDamage|
|00004ce0| 28 44 61 6d 61 67 65 2c | 20 44 61 6d 61 67 65 54 |(Damage,| DamageT|
|00004cf0| 79 70 65 2c 20 69 6e 6a | 75 72 65 64 2c 20 69 6e |ype, inj|ured, in|
|00004d00| 73 74 69 67 61 74 65 64 | 42 79 29 3b 0d 0a 7d 0d |stigated|By);..}.|
|00004d10| 0a 0d 0a 66 75 6e 63 74 | 69 6f 6e 20 62 79 74 65 |...funct|ion byte|
|00004d20| 20 50 72 69 6f 72 69 74 | 79 4f 62 6a 65 63 74 69 | Priorit|yObjecti|
|00004d30| 76 65 28 42 6f 74 20 61 | 42 6f 74 29 0d 0a 7b 0d |ve(Bot a|Bot)..{.|
|00004d40| 0a 09 6c 6f 63 61 6c 20 | 43 54 46 46 6c 61 67 20 |..local |CTFFlag |
|00004d50| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 3b 0d 0a 0d |Friendly|Flag;...|
|00004d60| 0a 09 46 72 69 65 6e 64 | 6c 79 46 6c 61 67 20 3d |..Friend|lyFlag =|
|00004d70| 20 43 54 46 52 65 70 6c | 69 63 61 74 69 6f 6e 49 | CTFRepl|icationI|
|00004d80| 6e 66 6f 28 47 61 6d 65 | 52 65 70 6c 69 63 61 74 |nfo(Game|Replicat|
|00004d90| 69 6f 6e 49 6e 66 6f 29 | 2e 46 6c 61 67 4c 69 73 |ionInfo)|.FlagLis|
|00004da0| 74 5b 61 42 6f 74 2e 50 | 6c 61 79 65 72 52 65 70 |t[aBot.P|layerRep|
|00004db0| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 2e 54 65 61 |lication|Info.Tea|
|00004dc0| 6d 5d 3b 20 0d 0a 0d 0a | 09 69 66 20 28 20 61 42 |m]; ....|.if ( aB|
|00004dd0| 6f 74 2e 50 6c 61 79 65 | 72 52 65 70 6c 69 63 61 |ot.Playe|rReplica|
|00004de0| 74 69 6f 6e 49 6e 66 6f | 2e 48 61 73 46 6c 61 67 |tionInfo|.HasFlag|
|00004df0| 20 21 3d 20 4e 6f 6e 65 | 20 29 0d 0a 09 7b 0d 0a | != None| )...{..|
|00004e00| 09 09 69 66 20 28 20 28 | 56 53 69 7a 65 28 61 42 |..if ( (|VSize(aB|
|00004e10| 6f 74 2e 4c 6f 63 61 74 | 69 6f 6e 20 2d 20 46 72 |ot.Locat|ion - Fr|
|00004e20| 69 65 6e 64 6c 79 46 6c | 61 67 2e 48 6f 6d 65 42 |iendlyFl|ag.HomeB|
|00004e30| 61 73 65 2e 4c 6f 63 61 | 74 69 6f 6e 29 20 3c 20 |ase.Loca|tion) < |
|00004e40| 32 30 30 30 29 0d 0a 09 | 09 09 26 26 20 61 42 6f |2000)...|..&& aBo|
|00004e50| 74 2e 4c 69 6e 65 4f 66 | 53 69 67 68 74 54 6f 28 |t.LineOf|SightTo(|
|00004e60| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 2e 48 6f 6d |Friendly|Flag.Hom|
|00004e70| 65 42 61 73 65 29 20 29 | 0d 0a 09 09 09 72 65 74 |eBase) )|.....ret|
|00004e80| 75 72 6e 20 32 35 35 3b | 0d 0a 09 09 72 65 74 75 |urn 255;|....retu|
|00004e90| 72 6e 20 32 3b 0d 0a 09 | 7d 0d 0a 0d 0a 09 69 66 |rn 2;...|}.....if|
|00004ea0| 20 28 20 46 72 69 65 6e | 64 6c 79 46 6c 61 67 2e | ( Frien|dlyFlag.|
|00004eb0| 48 6f 6c 64 65 72 20 21 | 3d 20 4e 6f 6e 65 20 29 |Holder !|= None )|
|00004ec0| 0d 0a 09 09 72 65 74 75 | 72 6e 20 31 3b 0d 0a 0d |....retu|rn 1;...|
|00004ed0| 0a 09 72 65 74 75 72 6e | 20 30 3b 0d 0a 7d 0d 0a |..return| 0;..}..|
|00004ee0| 0d 0a 66 75 6e 63 74 69 | 6f 6e 20 50 69 63 6b 41 |..functi|on PickA|
|00004ef0| 6d 62 75 73 68 53 70 6f | 74 46 6f 72 28 42 6f 74 |mbushSpo|tFor(Bot|
|00004f00| 20 61 42 6f 74 29 0d 0a | 7b 0d 0a 09 69 66 20 28 | aBot)..|{...if (|
|00004f10| 20 43 68 65 63 6b 46 6f | 72 54 72 61 6e 73 6c 6f | CheckFo|rTranslo|
|00004f20| 63 61 74 6f 72 73 28 61 | 42 6f 74 29 20 29 0d 0a |cators(a|Bot) )..|
|00004f30| 09 7b 0d 0a 09 09 61 42 | 6f 74 2e 62 53 70 65 63 |.{....aB|ot.bSpec|
|00004f40| 69 61 6c 41 6d 62 75 73 | 68 20 3d 20 74 72 75 65 |ialAmbus|h = true|
|00004f50| 3b 0d 0a 09 09 72 65 74 | 75 72 6e 3b 0d 0a 09 7d |;....ret|urn;...}|
|00004f60| 0d 0a 09 53 75 70 65 72 | 2e 50 69 63 6b 41 6d 62 |...Super|.PickAmb|
|00004f70| 75 73 68 53 70 6f 74 46 | 6f 72 28 61 42 6f 74 29 |ushSpotF|or(aBot)|
|00004f80| 3b 0d 0a 7d 0d 0a 0d 0a | 66 75 6e 63 74 69 6f 6e |;..}....|function|
|00004f90| 20 62 6f 6f 6c 20 43 68 | 65 63 6b 46 6f 72 54 72 | bool Ch|eckForTr|
|00004fa0| 61 6e 73 6c 6f 63 61 74 | 6f 72 73 28 42 6f 74 20 |anslocat|ors(Bot |
|00004fb0| 61 42 6f 74 29 0d 0a 7b | 0d 0a 09 6c 6f 63 61 6c |aBot)..{|...local|
|00004fc0| 20 54 72 61 6e 73 6c 6f | 63 61 74 6f 72 54 61 72 | Translo|catorTar|
|00004fd0| 67 65 74 20 54 3b 0d 0a | 0d 0a 09 2f 2f 20 63 68 |get T;..|...// ch|
|00004fe0| 65 63 6b 20 66 6f 72 20 | 74 72 61 6e 73 6c 6f 63 |eck for |transloc|
|00004ff0| 61 74 6f 72 73 20 6e 65 | 61 72 20 62 61 73 65 0d |ators ne|ar base.|
|00005000| 0a 09 46 6f 72 45 61 63 | 68 20 41 6c 6c 41 63 74 |..ForEac|h AllAct|
|00005010| 6f 72 73 28 63 6c 61 73 | 73 27 54 72 61 6e 73 6c |ors(clas|s'Transl|
|00005020| 6f 63 61 74 6f 72 54 61 | 72 67 65 74 27 2c 20 54 |ocatorTa|rget', T|
|00005030| 29 0d 0a 09 09 69 66 20 | 28 20 43 68 65 63 6b 54 |)....if |( CheckT|
|00005040| 68 69 73 54 72 61 6e 73 | 6c 6f 63 61 74 6f 72 28 |hisTrans|locator(|
|00005050| 61 42 6f 74 2c 20 54 29 | 20 29 0d 0a 09 09 09 72 |aBot, T)| ).....r|
|00005060| 65 74 75 72 6e 20 74 72 | 75 65 3b 0d 0a 0d 0a 09 |eturn tr|ue;.....|
|00005070| 72 65 74 75 72 6e 20 66 | 61 6c 73 65 3b 0d 0a 7d |return f|alse;..}|
|00005080| 0d 0a 0d 0a 66 75 6e 63 | 74 69 6f 6e 20 62 6f 6f |....func|tion boo|
|00005090| 6c 20 43 68 65 63 6b 54 | 68 69 73 54 72 61 6e 73 |l CheckT|hisTrans|
|000050a0| 6c 6f 63 61 74 6f 72 28 | 42 6f 74 20 61 42 6f 74 |locator(|Bot aBot|
|000050b0| 2c 20 54 72 61 6e 73 6c | 6f 63 61 74 6f 72 54 61 |, Transl|ocatorTa|
|000050c0| 72 67 65 74 20 54 29 0d | 0a 7b 0d 0a 09 6c 6f 63 |rget T).|.{...loc|
|000050d0| 61 6c 20 46 6c 61 67 42 | 61 73 65 20 46 3b 0d 0a |al FlagB|ase F;..|
|000050e0| 0d 0a 09 69 66 20 28 20 | 61 42 6f 74 2e 57 65 61 |...if ( |aBot.Wea|
|000050f0| 70 6f 6e 2e 62 4d 65 6c | 65 65 57 65 61 70 6f 6e |pon.bMel|eeWeapon|
|00005100| 20 29 0d 0a 09 09 72 65 | 74 75 72 6e 20 66 61 6c | )....re|turn fal|
|00005110| 73 65 3b 0d 0a 09 46 20 | 3d 20 43 54 46 52 65 70 |se;...F |= CTFRep|
|00005120| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 28 47 61 6d |lication|Info(Gam|
|00005130| 65 52 65 70 6c 69 63 61 | 74 69 6f 6e 49 6e 66 6f |eReplica|tionInfo|
|00005140| 29 2e 46 6c 61 67 4c 69 | 73 74 5b 61 42 6f 74 2e |).FlagLi|st[aBot.|
|00005150| 50 6c 61 79 65 72 52 65 | 70 6c 69 63 61 74 69 6f |PlayerRe|plicatio|
|00005160| 6e 49 6e 66 6f 2e 54 65 | 61 6d 5d 2e 48 6f 6d 65 |nInfo.Te|am].Home|
|00005170| 42 61 73 65 3b 0d 0a 0d | 0a 09 69 66 20 28 20 28 |Base;...|..if ( (|
|00005180| 54 2e 52 65 67 69 6f 6e | 2e 5a 6f 6e 65 20 3d 3d |T.Region|.Zone ==|
|00005190| 20 46 2e 52 65 67 69 6f | 6e 2e 5a 6f 6e 65 29 0d | F.Regio|n.Zone).|
|000051a0| 0a 09 09 26 26 20 28 54 | 2e 49 6e 73 74 69 67 61 |...&& (T|.Instiga|
|000051b0| 74 6f 72 2e 50 6c 61 79 | 65 72 52 65 70 6c 69 63 |tor.Play|erReplic|
|000051c0| 61 74 69 6f 6e 49 6e 66 | 6f 2e 54 65 61 6d 20 21 |ationInf|o.Team !|
|000051d0| 3d 20 61 42 6f 74 2e 50 | 6c 61 79 65 72 52 65 70 |= aBot.P|layerRep|
|000051e0| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 2e 54 65 61 |lication|Info.Tea|
|000051f0| 6d 29 0d 0a 09 09 26 26 | 20 21 54 2e 44 69 73 72 |m)....&&| !T.Disr|
|00005200| 75 70 74 65 64 28 29 0d | 0a 09 09 26 26 20 28 56 |upted().|...&& (V|
|00005210| 53 69 7a 65 28 54 2e 4c | 6f 63 61 74 69 6f 6e 20 |Size(T.L|ocation |
|00005220| 2d 20 46 2e 4c 6f 63 61 | 74 69 6f 6e 29 20 3c 20 |- F.Loca|tion) < |
|00005230| 31 30 30 30 29 20 29 0d | 0a 09 7b 0d 0a 09 09 69 |1000) ).|..{....i|
|00005240| 66 20 28 20 28 56 53 69 | 7a 65 28 61 42 6f 74 2e |f ( (VSi|ze(aBot.|
|00005250| 4c 6f 63 61 74 69 6f 6e | 20 2d 20 54 2e 4c 6f 63 |Location| - T.Loc|
|00005260| 61 74 69 6f 6e 29 20 3c | 20 38 35 30 29 0d 0a 09 |ation) <| 850)...|
|00005270| 09 09 09 26 26 20 61 42 | 6f 74 2e 4c 69 6e 65 4f |...&& aB|ot.LineO|
|00005280| 66 53 69 67 68 74 54 6f | 28 54 29 20 29 0d 0a 09 |fSightTo|(T) )...|
|00005290| 09 7b 0d 0a 09 09 09 61 | 42 6f 74 2e 41 6d 62 75 |.{.....a|Bot.Ambu|
|000052a0| 73 68 53 70 6f 74 20 3d | 20 4e 6f 6e 65 3b 0d 0a |shSpot =| None;..|
|000052b0| 09 09 09 61 42 6f 74 2e | 53 68 6f 6f 74 54 61 72 |...aBot.|ShootTar|
|000052c0| 67 65 74 28 54 29 3b 0d | 0a 09 09 09 72 65 74 75 |get(T);.|....retu|
|000052d0| 72 6e 20 74 72 75 65 3b | 0d 0a 09 09 7d 0d 0a 09 |rn true;|....}...|
|000052e0| 09 65 6c 73 65 0d 0a 09 | 09 7b 0d 0a 09 09 09 61 |.else...|.{.....a|
|000052f0| 42 6f 74 2e 4d 6f 76 65 | 54 61 72 67 65 74 20 3d |Bot.Move|Target =|
|00005300| 20 61 42 6f 74 2e 46 69 | 6e 64 50 61 74 68 54 6f | aBot.Fi|ndPathTo|
|00005310| 77 61 72 64 28 54 29 3b | 0d 0a 09 09 09 69 66 20 |ward(T);|.....if |
|00005320| 28 20 61 42 6f 74 2e 4d | 6f 76 65 54 61 72 67 65 |( aBot.M|oveTarge|
|00005330| 74 20 21 3d 20 4e 6f 6e | 65 20 29 0d 0a 09 09 09 |t != Non|e ).....|
|00005340| 7b 0d 0a 09 09 09 09 69 | 66 20 28 20 56 53 69 7a |{......i|f ( VSiz|
|00005350| 65 28 61 42 6f 74 2e 4c | 6f 63 61 74 69 6f 6e 20 |e(aBot.L|ocation |
|00005360| 2d 20 61 42 6f 74 2e 4d | 6f 76 65 54 61 72 67 65 |- aBot.M|oveTarge|
|00005370| 74 2e 4c 6f 63 61 74 69 | 6f 6e 29 20 3c 20 31 2e |t.Locati|on) < 1.|
|00005380| 35 20 2a 20 61 42 6f 74 | 2e 43 6f 6c 6c 69 73 69 |5 * aBot|.Collisi|
|00005390| 6f 6e 52 61 64 69 75 73 | 20 29 0d 0a 09 09 09 09 |onRadius| )......|
|000053a0| 7b 0d 0a 09 09 09 09 09 | 61 42 6f 74 2e 43 61 6d |{.......|aBot.Cam|
|000053b0| 70 54 69 6d 65 20 3d 20 | 33 2e 30 3b 0d 0a 09 09 |pTime = |3.0;....|
|000053c0| 09 09 09 61 42 6f 74 2e | 47 6f 74 6f 53 74 61 74 |...aBot.|GotoStat|
|000053d0| 65 28 27 52 6f 61 6d 69 | 6e 67 27 2c 20 27 43 61 |e('Roami|ng', 'Ca|
|000053e0| 6d 70 27 29 3b 0d 0a 09 | 09 09 09 7d 0d 0a 09 09 |mp');...|...}....|
|000053f0| 09 09 61 42 6f 74 2e 41 | 6d 62 75 73 68 53 70 6f |..aBot.A|mbushSpo|
|00005400| 74 20 3d 20 4e 6f 6e 65 | 3b 0d 0a 09 09 09 09 72 |t = None|;......r|
|00005410| 65 74 75 72 6e 20 74 72 | 75 65 3b 0d 0a 09 09 09 |eturn tr|ue;.....|
|00005420| 7d 0d 0a 09 09 7d 0d 0a | 09 7d 0d 0a 09 72 65 74 |}....}..|.}...ret|
|00005430| 75 72 6e 20 66 61 6c 73 | 65 3b 0d 0a 7d 0d 0a 0d |urn fals|e;..}...|
|00005440| 0a 00 | |.. | |
+--------+-------------------------+-------------------------+--------+--------+